20161001

Git

A Git IT work in progress....
  1. Installing Git
    1. Install from the CLI
      1. $ sudo apt-get install git-all
    2. First-Time Git Setup
      1. Configure your user info
        1. $ git config --global user.name "John Doe"
        2. $ git config --global user.email johndoe@example.com
      2. Configuring your editor
        1. $ git config --global core.editor gedit
      3. Checking Your Settings
        1. $ git config --list
  2. Getting a Git Repository
    1. Initializing a Repository in an Existing Directory
      If you’re starting to track an existing project in Git, you need to go to the project’s directory and type:
      1. $ git init
      2. $ git add *
      3. $ git add .
      4. $ git commit -m 'initial project version'
    2. Cloning an Existing Repository
      1. $ git clone https://github.com/source/git/dir target/git/dir
      2. Git has a number of different transfer protocols you can use.
    3. Initializing Git repositories in the Cloud
      This was something that I needed to do (for my own personal and private projects). While there are many ways out there to host your private repositories such as the awesome Bitbucket, Github, etc, I was looking at much simpler solution just for myself. All I needed is a versioning system to keep my source codes.

      I'm going to demonstrate how easy it is to host your own Git repositories in any of your preferred cloud providers. I chose Google Drive personally.

      Lets say you have a project named "johndoe":
      1. Initialize an empty Git repository: 
        1. $ cd /path/to/project/johndoe
        2. $ git init
      2. Make and change directory to where your Google Drive is located and initialize a bare repository.
        1. $ mkdir /path/to/GoogleDrive/project/johndoe
        2. $ cd /path/to/GoogleDrive/project/johndoe
        3. $ git remote add origin /path/to/GoogleDrive/project/johndoe
        4. $ git push origin master
    4. Cloning Git Repositories in the Cloud
      1. To clone your Git repository from Google Drive
        1. $ git clone /path/to/GoogleDrive/project/johndoe
    5. Git Version Control
      1. There are some subtleties to this because of the nature of Git. The way I've done this is by copying what the Git developers themselves do. First, you'll want to use annotated tags which is probably a good idea anyway. To review, you can create a new tag like this:
        1. $ git tag -a -m "Version 0.2" v0.2 HEAD
      2. Then you can use git describe for a useful "version" string that will include the number of commits since the tag and the leading digits of the sha1 of the the current commit. Here's an example from one of my projects:
        1. $ git describe
        2. v1.0-3-gee47184
      3. That is, this copy is 3 commits ahead of the "v1.0" tag and the commit sha1 begins with ee47184 (I'm not sure why they include that leading 'g').
      4. The Git developers take it one step further and also include an extra bit if the working copy is modified (uncommitted). This requires a few more steps so it's all wrapped up in a script they name VERSION-GEN. When run, it prints the version string to standard output and also creates a VERSION-FILE file (the script is careful to not re-touch that file if the version hasn't changed -- so it's build-tool friendly). Then, you can include that VERSION-FILE file in your source code, help files, etc.
      5. Using my example VERSION-GEN script, my version string for the above example is:
        1. $ VERSION-GEN
        2. version: 1.0-3-gee47
      6. If I modify any of the tracked files it looks like this:
        1. $ VERSION-GEN
        2. version: 1.0-3-gee47-mod
      7. Note that VERSION-GEN expects that the tags marking versions are of the form v[0-9]* (e.g., v1.0 or v0.2 or v12.3.4 or v12.2-4feb2009 etc.)
  3. Recording Changes to the Repository with RabbitVCS
    1. Installing RabbitVCS for use with Nemo

Seed Harvesting


With the garden off to a successful start, it's time to make some seed harvesting preparations. This year I've got a variety of produce and, to help find the specific species steps when I need them next year, I'm going to breakup this post into "by species" steps. Saving seeds from heirloom or open-pollinated varieties is a wonderful way to ensure that you can keep growing your favorite produce varieties year after year. Even better, you can select seeds from those fruits and vegetables with the best qualities, tailoring over the years, the varieties to conditions in your own garden.

The steps for any seed gathering from harvested fruits and vegetables is basically the same for all, with a twist and turn on a few.

  1. Isolating
  2. Pollinating
  3. Harvesting
  4. Cleaning
  5. Curing
  6. Sorting
  7. Cleaning
  8. Drying
  9. Storing

Cucumbers

Saving cucumber seeds is not as straightforward as saving bean seeds, or even tomato seeds. Unlike beans and tomatoes, cucumber blossoms are not perfect -- they need to be pollinated by insects (or by the gardener) to set fruit. And, to complicate things further, cucumbers cross easily with other cucumber varieties. Professional seed savers recommend isolating cucumber varieties by 1/2 mile to prevent crossing. Since most of us do not have that type of space to work with, we have to handle isolation and pollination another way.

  1. Isolating Plants
    1. The first step to take if you plan on saving seeds from your cucumbers is to isolate the plants you want to save seed from.
    2. You can bag individual female blossoms (these are the ones that look like they have a tiny cucumber at the base) before they open, in spun polyester or cotton bags to prevent insects from pollinating them.
    3. Do the same with a male flower.
    4. Then, tag the branch with that female blossom so you know later that this cucumber should be saved for the seeds.
    5. The other way to isolate your cucumbers is to build a cage that will enclose the entire plant or plants -- wood or PVC with spun polyester or screen over it will work.
  2. Hand-Pollinating Cucumber Flowers; Since we can't allow those haphazard bees to pollinate the cucumbers, we have to take that task on ourselves.
    1. Use a small brush to dab some of the pollen from a male cucumber flower onto the stigma (center) of the female flower.
    2. Then bag the female blossom again, and let the waiting begin.
    3. Once a fruit forms, you'll know that your hand-pollination worked.
    4. You can then remove the bag, but make sure you keep this fruit tagged or otherwise labeled so it doesn't end up in a salad by mistake.
  3. When to Harvest Cucumber Seeds
    1. Cucumbers that you are growing to save seed from must be grown to full maturity, much past the point where they are no longer edible.
    2. The cucumber will be larger than usual harvest size, and will start to soften.
    3. It will also change color from green to whitish.
    4. Harvest the fruits.
  4. Process the Cucumber Seeds
    1. Cut them in half lengthwise.
    2. Over a bowl, scoop out the seeds from the center of each half.
    3. Add about as much water to the bowl as the amount of seeds, and set aside in a warm, sheltered spot to ferment (much as you would if you were saving tomato seeds).
    4. Fermentation of cucumber seeds can occur in as little as one to three days; once most of the seeds have sunk to the bottom of the container, they are finished fermenting.
    5. Add more water to the bowl at this point to clean your seeds. Debris and bad seeds will float to the top, where you can discard them easily. The good seeds will be at the bottom.
    6. Rinse them a few more times, then strain them out and place them on paper towels or uncoated paper plates to dry.
    7. Once they are completely dry, label your seeds and store them in a cool, dry place. Stored properly, cucumber seeds will remain viable for ten years. A refrigerator is the ideal place to store your seeds.

Seed Saving: Quick Tips on Saving Your Garden Favorites

Tomatoes

Selecting a good tomato to save seeds from is the most important step in the process. There's no point in saving tomato seeds if you're not saving them from high quality fruits; the resulting plants (and their fruits) will be of inferior quality.
  1. Here's what you're looking for.
    1. Save seeds from an open-pollinated, rather than hybrid, tomato. Seeds saved from hybrid tomatoes won't come true, and there's no way to tell what you'll end up with. This may take a little research. If you're unsure whether the tomato you're growing is an heirloom or a hybrid, a quick internet search or a glance through a few seed catalogs will tell you what you need to know.
    2. Save seeds from tomatoes that are fully ripe, but not over-ripe. Seeds from over-ripe fruits could already be on their way to germinating or flat-out rotting.
    3. Save seeds from the best-looking, best-tasting fruits on the plant. When you save from the very best, the resulting plants will be predisposed to having those same desirable qualities.
    4. It's fine to save seed from plants that have suffered from blight or one of the many wilts that affect tomato plants.
  2. Slice the Tomato
    1. Once you have your tomato selected, slice it across the equator of the fruit. This will allow you to squeeze out the seeds more easily in the next step.
  3. Squeeze Out the Seeds
    1. Squeeze the seeds and their surrounding gel into a plastic or glass container.
  4. Add Water
    1. Pour two to three inches of water over the seeds you've squeezed into your container.
  5. Label and Set Aside
    1. Label your container so you don't forget which variety of tomato seed you've saved (you think you'll remember -- you won't. Trust me!)
    2. Set the container in a spot where it won't be in your way or be disturbed too much.
    3. Let it sit for two to three days, until you see white mold growing on top of the water. This is a sign that the gel coating that surrounds the seeds has broken down.
  6. Rinse and Dry
    1. Pour off the mold, as much of the water as possible, and any seeds that are floating (these seeds are bad, and would not have germinated, anyway).
    2. Rinse a few times, pouring off the rinse water and any seeds or debris that float.
    3. Dump the seeds into a fine mesh strainer and rinse well, using your fingers to dislodge any gel that is still sticking to the seeds.
    4. Write the name of your tomato variety on a paper plate, and dump your seeds onto it.
    5. Make sure that the seeds are in a single layer so they dry well and don't get moldy.
    6. Set the labeled plate aside for a few days so that the seeds dry completely.
  7. Store Your Seeds
    1. Once your seeds are completely dry, you can put them into an envelope, small baggie, or other container to store.
    2. Be sure to label them properly.
    3. It's best to store them in a cool, dry place (such as a refrigerator).
      When stored properly, tomato seeds will germinate reliably for up to ten years, or more.
How to Save Tomato Seeds - Photo Tutorial

Peppers

These are my favorite! Yes all of them, hot mild or somewhere near medium based on some scoville scale of scalding :) At this point I've got about a dozen different types of peppers. I've cross-pollinated some by accident, that turned out to be the perfect pepper for those how can't stand the heat but like the taste. Of course I've got the standard chili, habanero, jalapeno, bells of all colors, sriracha, pequeno, and the latest addition "observative tiger paws" (those are double hot habaneros).
  1. Separation of species
    1. Like the cucumbers you will need to take some effort to keep your peppers from cross pollinating. Yes the same steps as cucumbers.
  2. Harvesting
    1. As with other fruit, let the pepper stay on the plant as long as possible. Let is over develop and ripen beyond edible but not rotting.
  3. Sorting
    1. My personal preference is to cut around the top of the pepper while trying not to dislodge any of the seeds from around and below the stem. As long as the pepper flesh is firm you can use it to cook with, just bring it to a 165 degrees like meat.
....its late and I think I've got the idea for now...and I'll add the rest when its time...update and completion when the next seeds are ready.