Friday, July 18, 2008

What Not to Compost

As easy as composting with nitrogen-rich "greens" and carbon-rich "browns" can be, there are some things you don't want in your compost. Most ingredients you can collect locally are perfectly safe, but knowing some minor details will help prevent a batch of contaminated material from ruining your garden.

Popular "greens" include grass clippings, coffee grounds, herbivorous animal manure, kitchen scraps, freshly pulled weeds and other plant debris.

Scraps or grounds from just about anything a person would eat or drink can be composted without worry. However, don't try to compost meat, dairy products or very oily foods (like shortening). They won't break down in the regular gardener's compost.

If you collect grass clippings from your own or a neighbor's yard, be sure no weed killers, pesticides, weed-n-feed type fertilizers or other herbicides were used on the lawn in the past year. Clippings from lawns treated with a basic N-P-K or even iron-based moss control fertilizers are fine, even if they're not organic. (But don't use moss control lawn fertilizers directly on your garden.)

If you want to compost animal manure, be sure to only use manure from animals that eat plants, like cows, chickens, horses and rabbits. Be sure the animals weren't treated with hormones or antibiotics, which can really disrupt the life cycle of soil organisms. Don't use manure from meat-eating animals like cats, dogs or humans. Feces from carnivorous animals can contain dangerous bacteria, parasites, and even viruses.

If you make a hot compost pile that heats up to 140-160 degrees F, you can compost most weed seeds. But if you make cold compost, avoid weeds that have gone to seed. You should also avoid any plants infected with blight, fungal wilt, club root, viruses or other diseases. Throw those plants away in your regular household trash.

If you live near a lake, you may have thought about composting that pesky, feathery water weed milfoil (Myriophyllum sp.). However, studies show that milfoil is good at sucking up toxic heavy metals; something you don't want in your garden.

Easy to find "browns" include fall leaves, sawdust, paper or straw bales. If you compost sawdust, be sure it didn't come from pressure treated wood, a manufactured wood product (like oriented strand board, particle board, etc.), or from wood that had finishes like paint, deck stain or lacquer applied.

You may have heard rumors that hickory leaves are bad for compost, or that oak leaves make compost too acid, but don't believe them. You can even use a shovel-full or two of wood ashes (but not barbeque or coal ashes) in your compost.

Most newspaper, office paper, cardboard, and junk mail can be composted, but don't compost glossy magazines. Remember that paper is very dry, so be sure to dampen it well when adding it to your compost.

In the fall and winter you can generally find bales of straw that are tempting to use in compost or as winter mulch. However, Washington has historically had a problem with a persistent herbicide called clopyralid (klow-PEER-uh-lid). Many farmers use clopyralid on hay, grains and other crops to kill weeds, but it remains in the soil, passes through grazing animals, and survives even the hot composting process. It will then frizzle your broadleaf plants. If you are offered bales of hay or straw, be sure to ask if there's any chance clopyralid was used before you accept them.

Copyright © 2005 Brian Ballard. All rights reserved.

Save Browns for Spring Composting

Just as Seattle gets too much water in winter and not enough in summer, compost materials can be difficult to balance across the seasons. Spring brings us too many "greens" while fall brings us too many "browns" for a balanced compost pile. The solution is to save some browns now to use next year's compost. Unlike "greens" which tend to get stinky if you try to store them, browns will patiently wait until you're ready for them.

When autumn leaves start falling, offer to rake your neighbor's lawn, or collect leaves from local side streets. Get your kids or grandkids into the act! Collecting leaves will be less messy if you get a head start on the rains, but even wet leaves will store fairly well.

If you have an out of the way location that won't be unsightly, store your leaves in plastic garbage bags. If not, simply pile the leaves on your garden plot after harvest time. Cover the pile with burlap weighted down with stones to keep your leaves from blowing away. You could even build a wire cage at your plot to store more leaves.

Some P-Patches make arrangements with the city to deliver leaves cleared from public streets or parks. If your P-Patch has enough room to store lots of extra leaves, contact the P-Patch office about setting up delivery.

When spring finally rolls around, mix your saved leaves with fresh grass clippings, coffee grounds, and other "greens" to start a batch of compost. If you keep the leaves a year or more, they'll eventually break down into great "leaf mold" that you can use to start seedlings or to mulch your garden. Don't let the word "mold" scare you – that's just the term for old leaves that have broken down to the consistency of soil.

Copyright © 2004 Brian Ballard. All rights reserved.

Preparing Your Garden for Winter

In a few months, you'll be putting your beds to bed for the winter. But that doesn't mean nothing happens during our dark, rainy months. Left bare and exposed to the elements, important nutrients will wash away, and soil organisms will go dormant or even freeze to death.

There are many ways to over-winter your garden while at the same time improving the soil for a head start next spring. Here are three suggestions that you may want to try (or even try each suggestion in a 3-year cycle.)

A Variation on Sheet Composting: Interbay Mulch

Once your beds are cleared of this season's crops, create a mix of equal parts "greens" (grass clippings, coffee grounds, fresh chopped plants, composted manure) and "browns" (fall leaves, non-pressure treated sawdust, dry plant material, etc.) just like you would for a normal compost pile.

Spread your mix in a good 12-18 inch layer on your planting beds. Wet down the mixture well and then cover it all with a layer or two of burlap bags. The burlap keeps the mulch dark, damp and insulated so organisms can work all the way to the top of your compost material. You can pick up free burlap bags on Wednesdays and Fridays at the Tully's loading dock at the south end of their building on Airport Way (the old Rainier brewery).

This winter, check your mulch every few weeks to be sure it's still slightly damp (and that rodents aren't using it as a home). Turn the mulch once on a rare sunny January day to help even out decomposition. By the time spring rolls around, your Interbay Mulch will be finished. A few weeks before you're ready to start planting, remove the burlap and turn your beautifully decomposed mulch into the soil.

Cover Crops

Winter cover crops benefit your soil as they grow and when you turn them under in the spring.

There are basically two types of cover crops: legumes that add nitrogen, and grasses that break up compacted soils and mine minerals from deep down. Nitrogen-fixing plants like crimson clover, vetch, field peas, or fava beans will help capture nitrogen from the air. Cereal rye, winter wheat or other grasses won't capture nitrogen as well as legumes, but their long fibrous roots help break up heavy clay soils. Grasses also mine essential minerals from deep down in the soil where other plant roots don't normally reach. Interplant grasses with legumes to help support the sprawling habit of vetch or field peas.

Plant your winter cover crops now. Better nurseries will a selection of seed mixes. You should even sow cover crops amongst any plants you haven't harvested yet. In May, turn your cover crop under several weeks before you're ready to start spring planting.

Winter Gardening

There are many crops that flourish in the cooler weather of fall, or even prefer a good chilly winter to get a head start on spring. You can start lettuce, arugula, cabbage, mustard, radish, beets, and snow peas now for late fall harvest. Try a cold frame or cloche for continuous harvests of greens through all but the most severe Seattle winter. October is the time to plant garlic or shallots to give their root systems to prepare for spring growth.

Copyright © 2004 Brian Ballard. All rights reserved.

Composting for Beginners

It's easy to make a batch of compost your garden will absolutely love!

Compost is decomposed plant material that helps improve your soil by adding organic matter. It helps soil retain water and provides nutrients in a form plants can use easily. Beneficial fungi and microbes in compost also help your plants absorb water and nutrients from the soil. The process of making compost is actually a speeded-up version of what happens naturally on the forest floor or prairie.

Compost starts with equal portions of "greens" and "browns". Organisms that break down plant material use carbon from browns for energy, and nitrogen from greens as food. Typical greens are: fresh grass clippings, chopped garden debris, coffee grounds or manure. Some browns are: fall leaves, straw, wood chips or sawdust (but don't use chips or sawdust from pressure-treated wood). You should be sure grass clippings come from lawns that were not treated with pesticides or herbicides.

Hot Composting

Hot composting is a method that creates compost very quickly. The bacteria that help break down plant material generate enough heat to raise the temperate to as high as 140-160 degrees. This kills most weed seeds and pathogens. A critical mass of at least 3'x3'x3' is needed to really get the decomposition process going.

To begin a batch, first find or build an empty compost bin. Many P-Patches already have bins just waiting for you! Gather and mix equal parts of greens and browns. Fill your compost bin to the top with this mixture, but don't overfill it and never compress the ingredients to try to make them fit. That squeezes out needed air.

As you transfer your mix to the bin, add enough water to dampen it well, but don't drench it. The fungi, microbes and other critters responsible for decomposition need water and oxygen to live. Too much water pushes out all the oxygen, leaving you with a smelly mess! If the batch is too dry, the composting process will slow down or stop. Your compost should be about as damp as a wrung-out sponge.

Cover the top of your batch with a few burlap bags to help retain moisture. Also cover the bin with a piece of plywood to keep out rain and sun.

Tending your Compost

After a few days your new batch of compost will heat up as bacteria start munching away at plant material, consuming oxygen in the process. Fungi will also feast on the fresh mix. These microbes and critters need air to do their work. About once a week, add more oxygen by turning your pile into an empty bin, or if you only have one bin, remove the contents and then put them back in. Try to move the stuff from the top to the bottom, and vice versa. As you turn, add a little water if the mix appears too dry.

Your batch will seem to shrink as the ingredients settle and rot. I like to top off the bin with more fresh mix the first few times I turn a batch.

Your hot compost is finished when it has mostly stopped decomposing, does not heat up between turnings, and looks and smells like dark soil. The initial ingredients should be unrecognizable in the finished product. In summertime, a batch takes about 6 weeks to finish. In winter, it may take as many as 12 weeks. So plan ahead for planting or transplanting time.

As you might have imagined, collecting ingredients for hot compost all at once, then turning the whole batch every week for 6-12 weeks can be tedious and backbreaking work. There's got to be an easier way -- and there is! It's known as cold composting.

Cold Compost

Any dead plant material will eventually rot back to soil. It may take weeks, months, or even years. The only question is how long you're willing to wait, and how much effort you're willing to add to speed up the process. The process where you add plant material as it becomes available (rather than all at once) is called cold composting because the ingredients don't heat up.

You don't need a bin for cold compost -- you can start a pile in a corner of your garden. As you have plant material to get rid of, just add it to the top of the pile. You can chop material by hand, or just throw it on whole. If you find that you have a lot of fresh plant material to add at once, it wouldn't hurt to add some extra browns. The same balance of greens and browns technically still applies to cold compost piles, but you usually don't have so many greens to add at once that restoring the balance becomes a necessity.

Your cold compost will be ready to use in 6 to 12 months. To get to the good stuff, remove the top layer of material that hasn't decomposed yet. Use that un-rotted material as the base for your next cold pile.

Since cold compost doesn't heat up to kill diseases, seeds and rootstock, you will need to be a little more careful about what you put in a cold pile. Don't add weeds that have gone to seed, diseased plant material, persistent roots from berries or vines, or vegetables like tomatoes or potatoes that may sprout in the wrong places.

Trench or Pit Composting

If you don't have a compost bin handy, or don't have room for a cold compost pile, why not try composting underground?

In trench or pit composting, ingredients are buried in holes or a long trench and covered with soil. When you anticipate you will have lots of garden debris to get rid of (like at harvest time), dig a round hole or a long trench between planting rows about 8-12" deep. As you accumulate green material, chop it and mix it with some browns like fall leaves. Drop the mix into your holes or trenches until they're about half filled, then cover it with the original soil you dug out.

It's important not to bury the plant material too deeply since most biological activity occurs in the top 12" of soil. Some gardeners recommend rotating your open and cooking trenches with plantings in a 3-year cycle. However, each pit or trench should be ready to plant over in a few months. If you wish to plant sooner, try peas or beans since they have shallow roots that won't be damaged by the rotting process happening deeper down, and because they help trap nitrogen that might otherwise escape from the decomposing material.

Sheet Composting

Sheet composting is easier than trench composting because there's no digging involved.

Start your sheet compost with a mix of equal parts greens and browns. I prefer mixing the ingredients thoroughly, but you can use several 2-3" layers of greens and browns if that's easier for you. Spread your mixture in an 8-12" overall layer and water it down. You can cover the mixture with burlap bags and wait a few weeks for decomposition to begin, or you can plant directly in the new mix. The layer of materials won't be thick enough to retain heat, so seeds or roots won't be damaged. You can also plant a cover crop over the compost materials. Nitrogen-fixing covers like crimson clover, vetch, or fava beans are the best since they will help capture nitrogen released in the decomposition process. Rye or other grasses won't capture the nitrogen as well as legumes will.

Using Your Compost

Compost acts as a slow-release fertilizer and you can add it to your garden at any time. Before planting in spring, dig lots of finished compost into the soil. As plants grow throughout the summer, mulch between rows with it every few weeks (but leave a little space around plant stems). In the fall, add compost before sowing a cover crop. If you cover your beds in the winter, add compost to let it age well before spring returns.

Copyright © 2004 Brian Ballard. All rights reserved.

Monitoring Your Web Server Logs

In my SEO post, I noted that you should really pay attention to how people are using your site. You can do this with services like the free Google Analytics, or your web hosting provider may provide some traffic analysis tool. Other products that process your server logs are also available.

On my smaller sites, I actually just use Excel to sift through my server logs! Here's how I do it. (My web hosting company uses the Apache web server, so my notes are specific to that type of server.) Here's an example line from my Apache log file:


193.53.87.89 - - [17/Jul/2008:00:51:18 -0400] "GET /index.shtml HTTP/1.1" 200 16640 "http://www.google.com/search?hl=en&q=helpful+information&btnG=Search" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"


Here's what each bit of that logged data is:

  • Host - 193.53.87.89 - This is the internet address ("IP address") of the site vistitor's computer. Sometimes you'll see a slightly more recognizable web domain name like c-193-53-87-89.hsd1.ga.comcast.net here instead of just numbers.

  • The two dashes are reserved for password-protected pages. If my site were password protected, the dashes would be replaced with the logged-on user's id.

  • Time - [17/Jul/2008:00:51:18 -0400] - This is the date and time when the visitor requested this page from the server. The -0400 is my server's time zone (i.e. 4 hours before GMT).

  • File - "GET /index.shtml HTTP/1.1" - This is the page requested from my site, with the technical name of the request method (HTTP 1.1). When the page is a form that's submitted, you'll see POST instead of GET. When someone's server is just making sure your page is still there, you may see HEAD instead of GET.

  • Code - 200 - This is the technical code for whether the server is returning a page or an error. You're probably familiar with the code 404 for a page not found error. 200 just means, "OK nothing wrong. Here's the requested page."

  • Bytes - 16640 - This is the number of bytes the server delivered. My site's home page is about 16,640 bytes. This number probably won't exactly match your page file sizes because the number includes the size of extra information the servers sends with your page ("headers").

  • Referer - "http://www.google.com/search?hl=en&q=helpful+information&btnG=Search" - This value is the page your visitor was on right before coming to your page. This is really valuable information for a marketer. Most of the time the page is just another page on your own site, but in this case, it tells me that my visitor used Google to search for sites about "helpful information." However, if this value is just "-", then someone used a bookmark to visit your site, or typed your web site address into their browser by hand. More commonly, web indexing spiders often will not provide a referer value and you'll just see "-" here.

  • Browser - "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" - This big long hairy string contains information about your visitor's web browser and computer operating system. This can be helpful if you want to know whether people are using PCs or Macs to view your site. Web developers can also use this information to be sure your site works well with the various web browsers available.



I download log files daily from my web hosting account using FTP. I usually download the previous day's file, which on my server is called access.yesterday. This is just a plain text file that you could open with Wordpad or Notepad, but it's tough to read through that way.

I open my access.yesterday file in Excel. When Excel's Text Import wizard pops up, I choose Delimited and click Next. Then I unselect the Delimiters button for Tab and select the button for Space. I leave all the other settings alone and click the Finish button.

Now I have a spreadsheet with each bit of log information in a separate column, but the data is still a little messy, and there are no column headings. I used to add a header row, do a lot of cleanup, and sort the data manually, but finally I recorded an Excel macro to do that for me. Here's the macro code; feel free to use it. Again, it only works for Apache server log files. (By the way, change 2008 to the year you're in if you're reading this post from the future!)


Sub Apache_Log_Cleanup()
'
' Apache_Log_Cleanup Macro
' Cleans up an imported Apache web server log
'
'
Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Select
ActiveCell.FormulaR1C1 = "Host"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Time"
Range("F1").Select
ActiveCell.FormulaR1C1 = "File"
Range("G1").Select
ActiveCell.FormulaR1C1 = "Code"
Range("H1").Select
ActiveCell.FormulaR1C1 = "Bytes"
Range("I1").Select
ActiveCell.FormulaR1C1 = "Referer"
Range("J1").Select
ActiveCell.FormulaR1C1 = "Browser"
Range("B:C,E:E").Select
Range("E1").Activate
Selection.Delete Shift:=xlToLeft
Columns("B:B").Select
Selection.Replace What:="[", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="2008:", Replacement:="2008 ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Columns("C:C").Select
Selection.Replace What:="GET ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=" HTTP/1.0", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=" HTTP/1.1", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Rows("1:1").Select
Selection.Font.Bold = True
Range("A2").Select
ActiveWindow.FreezePanes = True
Range("C1").Select
Range("A1").Select
ActiveWorkbook.Worksheets("access").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("access").Sort.SortFields.Add Key:=Range("A:A" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("access").Sort.SortFields.Add Key:=Range("B:B" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("access").Sort.SortFields.Add Key:=Range("C:C" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("access").Sort
.SetRange Range("A:G")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("A:A").ColumnWidth = 25
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").ColumnWidth = 25
Columns("C:C").ColumnWidth = 25
Columns("D:D").EntireColumn.AutoFit
Columns("E:E").EntireColumn.AutoFit
Columns("F:F").ColumnWidth = 30
End Sub


Once you run that macro, you'll be able to sort your data in Excel however you want. The macro automatically sorts by Host, then Time, then File to group visits from the same user (or web spider) together. Pages accessed from the same Host generally represent a visit from one user.

Now that your web log data is all cleaned up, you can scroll through it to find any insteresting visit patterns. I like to sort it on Referer so I can see where my visitors found a link to my site, or what terms they used on search engines that turned up a link to my site. If often also sort on File and delete all the rows with images, css, js, xml and other files that aren't web pages. That makes it easier to focus just on visits to your web pages.

Thursday, July 10, 2008

Ad-supported music streaming

Why Ad-Supported Music Won't Work: Blame The Labels

Here's a post on why it's tough to find a market for on-demand streaming: the content prices are too high for online advertising prices. My favorite truism from the post is: "Sites that try to comply with label requests repel users and soon go out of business."

Wednesday, June 18, 2008

The Comparative Price of Oil

As the price of a barrel of oil skyrockets and the value of the US dollar against the euro plummets, I wondered what the price of oil in euro terms was doing. I thought perhaps the steep rise in the price of oil, traded in dollars, might be attributable merely to the falling relative value of the dollar. If when the euro and dollar were closer to parity, 30 euros or 30 dollars bought a barrel of oil, perhaps Europeans were still bidding around 30 euros for a barrel of oil, but that meant US customers had to increase their dollar bids to keep up with the value of the euro. Maybe Europeans were still paying the same in euro terms for a barrel of oil as they had been for a while.

So last month I searched around the internet for historic oil prices, and dollar to euro exchange rates. Then I graphed out the price of a barrel of oil in both currencies from January 1st, 2000 to May 11th, 2008. It turns out a barrel of oil does cost more in both dollar terms and euro terms, though it costs relatively more in dollar terms.



Then I started wondering about other commodity prices compared to oil. I happened to see a TV ad for someone hawking silver investments who claimed a barrel of oil cost the same in ounces of silver terms as it had in the 1970s. So I thought I'd check out the prices of a barrel of oil in silver terms since 2000 too. It turns out the silver investor is right: a barrel of oil still costs a little more than 6 ounces of silver as it did in 2000, though there have been some ups and downs.



So then I wondered if this held for gold too. It turns out gold hasn't held up quite as well as silver in barrels of oil terms. It now takes a little more gold to buy a barrel of oil than it did in 2000.