Mushrooms

We spotted a plump mushroom cluster nestled at the base of a neighbor’s tree:

Mushrooms at tree - A
Mushrooms at tree – A

Eight days later they’d started curling:

Mushrooms at tree - B
Mushrooms at tree – B

Mushrooms growing on tree roots generally mean the tree is in trouble and, indeed, it’s a battered Black Locust.

Sticky Trap Results

In late May we deployed six sticky traps in and around the onion bed, attempting to reduce the number of Onion Fly maggots. By mid-June the sheets were covered with the shredded leaves Mary uses to mulch the onions, but half a dozen flies were out of action:

Sticky trap - 2021-06
Sticky trap – 2021-06

We’re pretty sure that’s what these things are:

Sticky trap - Onion Fly - 2021-06
Sticky trap – Onion Fly – 2021-06

They’re supposed to have red eyes, but being affixed to a sheet of snot for a few weeks doesn’t do the least bit of good for your eyes.

We replaced the sheets and left them in place until the end of July:

Sticky trap - 2021-07
Sticky trap – 2021-07

The sheets took another half-dozen flies out of circulation, Mary began harvesting the onions, and observed it was the healthiest onion harvest she’s ever had.

We declared victory, removed the traps, and the remaining onions suffered considerable maggot damage over the next few weeks.

Anecdotally, it seems reducing the Onion Fly population by (what seems to be) a small amount and maintaining pressure on the population dramatically reduces the number of maggots available to damage the onion crop. At least for a single bed in a non-commercial setting.

The plural of anecdote is not anecdata, but we’ll try it again next year, leave the traps in place while the onions are in the ground, and see what happens.

Fiskars Bypass Pruner Rehabilitation

Mary found a rusted Fiskars bypass pruner in the trash pile near her Vassar Farms plot and brought it home for proper disposal. The nuts and screws responded to an overnight penetrating oil treatment and it came apart easily:

Fiskars bypass pruner - as found
Fiskars bypass pruner – as found

The movable jaw may have once sported a PTFE coating, but it’s likely just a different steel alloy.

After scrubbing the pieces with an abrasive pad, a little diamond filing, and (at the insistence of the Squidwrench chorus) some Dremel wire-wheel action, it looks almost new:

Fiskars bypass pruner - restored
Fiskars bypass pruner – restored

The blades sport a few nicks from their previous life, but work well enough.

Dripworks Mainline Pipe Clamp

This is laid in against a need I hope never occurs:

Dripworks 0.75 inch pipe clamp
Dripworks 0.75 inch pipe clamp

It’s intended to clamp around one of the Dripworks mainline pipes carrying water from the pressure regulator to the driplines in the raised beds, should an errant shovel or fork find the pipe.

It descends from a long line of soaker hose clamps, with a 25 mm ID allowing for a silicone tape wrap as a water barrier.

The solid model has no surprises:

Dripworks Mainline Clamp - build view
Dripworks Mainline Clamp – build view

The OpenSCAD source code as a GitHub Gist:

// Dripworks 3/4 inch mainline clamp
// Ed Nisley KE4ZNU 2021-06
Layout = "Build"; // [Hose,Block,Show,Build]
HoseOD = 25.0;
TestFit = false; // true to build test fit slice from center
//- Extrusion parameters must match reality!
/* [Hidden] */
ThreadThick = 0.25;
ThreadWidth = 0.40;
HoleWindage = 0.2;
Protrusion = 0.1; // make holes end cleanly
inch = 25.4;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
ID = 0;
OD = 1;
LENGTH = 2;
//----------
// Dimensions
// Hose lies along X axis
Hose = [200,HoseOD,HoseOD]; // X = longer than anything else
NumScrews = 2; // screws along each side of cable
WallThick = 3.0; // Thinnest printed wall
PlateThick = 1.5; // Stiffening plate thickness
// 8-32 stainless screws
Screw = [4.1,8.0,50.0]; // OD = head LENGTH = thread length
Washer = [4.4,9.5,1.0];
Nut = [4.1,9.7,3.3];
Block = [30.0,Hose.y + 2*Washer[OD],HoseOD + 2*WallThick]; // overall splice block size
echo(str("Block: ",Block));
ScrewMinLength = Block.z + 2*PlateThick + 2*Washer.z + Nut.z; // minimum screw length
echo(str("Screw min length: ",ScrewMinLength));
Kerf = 1.0; // cut through middle to apply compression
CornerRadius = Washer[OD]/2;
ScrewOC = [(Block.x - 2*CornerRadius) / (NumScrews - 1),
Block.y - 2*CornerRadius,
2*Block.z // ensure complete holes
];
echo(str("Screw OC: x=",ScrewOC.x," y=",ScrewOC.y));
//----------------------
// Useful routines
module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes
Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
FixDia = Dia / cos(180/Sides);
cylinder(d=(FixDia + HoleWindage),h=Height,$fn=Sides);
}
// Hose shape
// This includes magic numbers measured from reality
module HoseProfile() {
NumSides = 12*4;
rotate([0,-90,0])
translate([0,0,-Hose.x/2])
resize([Hose.z,Hose.y,0])
cylinder(d=Hose.z,h=Hose.x,$fn=NumSides);
}
// Outside shape of splice Block
// Z centered on hose rim circles, not overall thickness through center ridge
module SpliceBlock() {
difference() {
hull()
for (i=[-1,1], j=[-1,1]) // rounded block
translate([i*(Block.x/2 - CornerRadius),j*(Block.y/2 - CornerRadius),-Block.z/2])
cylinder(r=CornerRadius,h=Block.z,$fn=4*8);
for (i = [0:NumScrews - 1], j=[-1,1]) // screw holes
translate([-(Block.x/2 - CornerRadius) + i*ScrewOC.x,
j*ScrewOC.y/2,
-(Block.z/2 + Protrusion)])
PolyCyl(Screw[ID],Block.z + 2*Protrusion,6);
cube([2*Block.x,2*Block.y,Kerf],center=true); // slice through center
}
}
// Splice block less hose
module ShapedBlock() {
difference() {
SpliceBlock();
HoseProfile();
}
}
//----------
// Build them
if (Layout == "Hose")
HoseProfile();
if (Layout == "Block")
SpliceBlock();
if (Layout == "Show") {
difference() {
SpliceBlock();
HoseProfile();
}
color("Green",0.25)
HoseProfile();
}
if (Layout == "Build") {
SliceOffset = TestFit && !(NumScrews % 2) ? ScrewOC.x/2 : 0;
intersection() {
translate([SliceOffset,0,Block.z/4])
if (TestFit)
cube([ScrewOC.x/2,4*Block.y,Block.z/2],center=true);
else
cube([4*Block.x,4*Block.y,Block.z/2],center=true);
union() {
translate([0,0.6*Block.y,Block.z/2])
ShapedBlock();
translate([0,-0.6*Block.y,Block.z/2])
rotate([0,180,0])
ShapedBlock();
}
}
}

A New Rabbit Appears

Mary chased a small rabbit out of her garden a few days ago, whereupon we up-armored a few vulnerable parts of the fence. The culprit turns out to be insufferably cute:

Young Rabbit - at the gate
Young Rabbit – at the gate

You cannot be annoyed with something like this:

Young Rabbit - alert
Young Rabbit – alert

Oh, yes, you can. Rabbits are basically eating machines:

Young Rabbit - grazing
Young Rabbit – grazing

They’re welcome to all the greenery in the yard, just nothing in the garden:

Young Rabbit - overcompressed A
Young Rabbit – overcompressed A

It’s known as a 2×2 Bunny, because it can fit through that size opening in a chain link fence while traveling at a dead run.

This one has yet to learn about being wary around the Big People:

Young Rabbit - overcompressed B
Young Rabbit – overcompressed B

The alert reader will have noted the crappy quality of the last three pictures, at least in comparison with the first two. It’s the difference between digital zoom on my Pixel 3a phone applied to a zoomed-all-the-way image and optical zoom on a “real” camera (admittedly, an old Sony DSC-H5). On the other paw, I had the phone in my pocket when Mary spotted the bunny on the driveway, which counts for everything in similar situations.

JPG compression doesn’t handle hair particularly well, so the low-res bunny wears a rather artistic brush-stroke coat; it’s OK if you like that sort of thing.

Dripworks Micro-Flow Valves: QC FAIL

We recently installed a Dripworks drip irrigation system for Mary’s garden and, of course, pre-assembled the emitter / dripline tubing, fittings, and supply / filter / plumbing for each of the beds in the Basement Shop. A few days after burying the main lines, plumbing the filter + pressure regulator, and plugging in half a dozen bed assemblies, Mary noticed some emitter tubes weren’t delivering any water and other beds seemed too dry.

N.B.: We bought everything directly from Dripworks. This is not counterfeit crap from a sketchy Amazon seller.

I cut the dripline just downstream of the Micro-Flow valve on a completely dry bed, whereupon no water emerged. Cutting the supply tube just upstream of the valve produced a jet squirting halfway along the bed. I tried and failed to blow air through the valve: it was completely blocked despite being in the “open” position. I installed another valve and the emitter tube started working properly.

I sat down at the kitchen table with a bag of unused valves and peered through them (the pix are through the microscope):

Dripworks valve - mostly open lumen
Dripworks valve – mostly open lumen

That’s one of the better-looking valves, with only a little mold flash in the lumen.

Partially occluded lumens were more typical:

Dripworks valve - partially occluded lumen
Dripworks valve – partially occluded lumen

Quite a few were almost completely obstructed:

Dripworks valve - mostly occluded lumen
Dripworks valve – mostly occluded lumen

For lack of better instrumentation, I blew through the valves and sorted them by effort:

Dripworks valve - sorted by blockage
Dripworks valve – sorted by blockage

Two of the valves in the group on the left are completely blocked, with the others mostly blocked.

The middle group has enough mold flash to produce noticeable resistance to the air flow. I think water would have more trouble getting through, but the emitters would at least look like they’re delivering water.

The group on the right has mostly unblocked valves, with visible mold flash but little restriction.

I have no way to measure the actual water flow, so it’s entirely possible the QC spec allows considerable blockage while still delivering enough water to the emitters. More likely, the spec assumes a clear lumen and the mold flash is a total QC faceplant; it’s obviously not a controlled quantity.

Well, I can fix that:

Dripworks valve - drilling
Dripworks valve – drilling

That’s a 2.3 mm drill going straight through the valve body. I drilled the valves from both ends and blew out the swarf:

Dripworks valve - drill swarf
Dripworks valve – drill swarf

That produced twenty valves with clear lumens. Of course, the drill leaves a slightly rough interior surface, but it’s now much easier to blow air through them.

We hadn’t installed the driplines in two beds with three emitter tubes per bed. I cut out those six unused valves and sorted them by resistance:

Dripworks valve - six samples
Dripworks valve – six samples

Both of the valves on the left are blocked, the three on the right are mostly OK, and the one in the middle is partially blocked.

With two dozen repaired valves in hand, we returned to the garden, I cut 22 valves out of the installed driplines and replaced them under field conditions. Returning to the Basement Laboratory, I blew the water out (*), sorted them by resistance, and produced a similar distribution, albeit with no pictorial evidence. Although we have no immediate need for the used valves, they’re drilled out and ready for use.

In very round numbers, you should expect:

  • A third of Dripworks valves will pass (close to) the expected flow
  • A third will have a minor flow restriction
  • A quarter will have a severe flow restriction
  • One valve in ten will be completely blocked

Plan to drill out all the Micro-Flow valves before you assemble your driplines.

AFAICT, none of the other ¼ inch fittings we used have any interior flash, so it’s only a problem with the valves.

We are, as the saying goes, not amused.

(*) If you will eat a peck of dirt before you die, I’m well on my way.