Paradise ponders: cat bath, stirrup people, Scott flock, rodeo, and puppies edition... I worked most of yesterday on my irrigation supervisor program. On one of my breaks, we decided to give little Laki (the cat we found out in Blacksmith Fork Canyon) a bath – she smelled like skunk, and her coat was still full of all the junk she picked up out in the boonies. Well, that was quite the adventure. She fought as if she weighed ten times the 5.5 pounds that she does. I have lacerations and puncture wounds all over my hands and arms, Debbie has one scratch, and unfortunately I have one deep bite on my right forefinger. It's healing nicely and there's no sign of infection yet, so I may luck out with this one. Poor little Laki is only slightly cleaner, and the skunk smell is less by maybe 10%. I'm not sure how we're going to get past her terror of baths (not at all uncommon with cats, of course). Maybe we'll just try to live long enough for the skunk smell to dissipate. :)
Yesterday evening we headed to the Cache County Fair for a couple hours of walking around before the rodeo. One of the first things we ran into was the display (photos below) that my brother Scott helped build for the town of Newton (where he lives). This display included the wooden stirrups that I helped make last week. Their display took first place out of the six total entries. This will be the last year for the town displays at the Cache County Fair – apparently there wasn't enough interest for them to continue. Only six entries for the 30 or so towns in the county...
We wandered around for a bit, which was very hard for this introvert. All the things I don't like were right in my face: crowds, noise, chaos. I got a headache within a few minutes of arriving, and headaches are a very rare thing for me. I was thirsty, so I stopped and got some lemonade – really, really awful lemonade! After a half hour or so checking out the booths, we headed for the animal section. That was a bit less crowded, and I like animals, so a much better experience for me. We walked through the cows, steers, goats, and sheep – while skipping the birds (hot and crowded) and pigs (because they're pigs!). In the goat section we came across a stall being tended by a young boy (photo at right), just six or seven, wielding a rake that weighed about the same as he did. :)
A little later, in the sheep section, we found the stall at left for the “Scott flock”. The Scotts happen to be our neighbors; their house and pasture is just northwest of our barn. Abby, Nicholas, and Sarah we know quite well (I tutored all three on programming for a while). Jasmine and Jonathan are younger kids, recently adopted; we know them but not as well. Those two are very lucky kids indeed, though they may not realize it yet – the home they have now is a paragon of wholesomeness and love in an absolute sense, but even more so relative to the home they've left. Every time I see them I think of the selflessness of their new parents (and their other kids, too)...
The big event for the night, though, was the rodeo. I was too busy watching the action to take photos, and they wouldn't have come out very well anyway. The photo at right, taken just before the rodeo started, at least gives you an idea about the venue. Before the rodeo started, lots of people were in the arena riding horses. Some of the riders were very young – I'd guess no more than six or seven years old, with legs so short that the stirrups were a couple feet below their feet. Some were rodeo participants, but most were not. I'm still not sure why all these people were riding, but it was actually quite entertaining for us – beautiful horses, interesting people (and pretty girls, too :).
The rodeo itself was by far the best one we've been to in Utah, from several perspectives. First, the competitors were really, really good. Most of the competitors in every event actually completed their event (i.e., the bull riders made it for 8 seconds, the steer wrestlers wrestled their steers, etc.). Some of the competitors put on dazzling displays of talent. Second, the event was very well-run: competitors followed each other out with very little delay, and transitions between events was smooth and fast. Third, the audio and visual systems were very good: the audio was of excellent quality (though way too loud for my taste), and the big screen (visible at the left of the photo above) was, well, big and bright. Our seats were outstanding. The crowd around us was polite, engaged, and happy. All of these things contributed to it being a most enjoyable event. Still tough for an introvert, though! :)
There was one event during the rodeo that I didn't expect at all, and it was quite emotional for me. If you're not from the area, you may not have heard the story of Deserae Turner – but if you read the article at the link, you'll know why it's well known here. Like many locals, we were shocked, followed her story avidly, and contributed toward her recovery. Her story is the kind of thing you'd expect in a big city, not here. Well, in a break between two rodeo events, Deserae Turner was driven around the arena while she rode in the back of a pickup. The outpouring of emotion from the crowd – almost all locals very familiar with her story – was really something to see. As she passed our seats, we could see that Deserae was overcome with emotion herself; her companion was holding her in a tight hug. Just thinking about the moment has me in tears again...
This morning (soon, actually!) we have something really fun planned. There's a lady a few miles away who has nine border collie puppies who need a new home. Our friend Michelle H. has a young boy (A. J.) who wants a puppy more than anything else in the world – specifically, a border collie puppy that he can train for agility competition. A. J. loves our border collie Race, and wants one just like him. Well, we're heading up with Michelle and A. J. to see those puppies this morning. A. J. thinks we're looking for a new puppy, and has no idea that if things work out well it's him that will be going home with one. Hopefully he doesn't read my blog! :) This should be lots of fun for all of us...
Friday, August 11, 2017
Thursday, August 10, 2017
By popular request...
By popular request... Well, one request, anyway, from reader Chuck W. :) Below a screenshot of the status page on the irrigation system supervisory program's web site as it stands right now. The indicators and gauges update about once per second. The green rectangles are indicators that turn red when off (in other words, if the pump turns off, the right hand indicator turns red). The top row of gauges duplicates the physical gauges in the cedar shed that houses my irrigation system, showing the water pressure at various places in the system. The middle row of two gauges shows the differential pressure across each of the two filters in my system – when that goes over 5 psi, it's time to clean them. Over 8 psi and things are getting really bad. The bottom row of gauges gives a simple weather readout.
Paradise ponders: happy-but-sick kitty, “first pressure” on our irrigation pump, sneaky Americanisms, and unlikely bird identification...
Paradise ponders: happy-but-sick kitty, “first pressure” on our irrigation pump, sneaky Americanisms, and unlikely bird identification... Yesterday afternoon our vet's office snuck in an appointment for us with Laki, the kitty we found out in Blacksmith Fork Canyon. They did an exam and took blood for testing, with some results in just a few minutes. The results: she's sick (has a moderate fever), some upper respiratory congestion, and needs food. The diarrhea we observed is most likely due to a combination of her illness and her suddenly getting as much good food as she wants. She tested slightly positive (antigen test) for the feline leukemia virus (FeLV) – so now we have to wait for six weeks, test her again, and see if she managed to fight it off. There's a good chance that she will, as roughly 70% of cats do – though with her immune system compromised by malnutrition and who-knows-what disease she picked up, her chances aren't quite so good. For now she's getting a round of antibiotics, some meds for the diarrhea, good nutrition, clean water, a bath, isolation from our other kitties, and lots of attention. I visited with her this morning, and I can tell you we've got one very happy kitty there...
This morning our irrigation pressure was restored, albeit to a low level (30 psi). I pressurized the system with the pump off, and ... no leaks! Hooray! So then I decided to light off the pump for the first time, to see if the system would maintain the desired 50 psi at the output. I could only do this with the outlet shut off at the cedar shed, as the sprinkler contractor is in the middle of installing the pipes in our back yard, and there are open ends everywhere. The first time I turned on the pump's breaker, I went through a programming procedure for the variable frequency drive (VFD) system, and checked that its pressure sensor was working correctly. Then I told the VFD to start the pump, and ... promptly got a fault. “Shorted ground” was the diagnostic message that appeared. I took the cover off the pump's wiring box, and inspected it carefully – and found one tiny little strand of the ground wire touching a terminal it shouldn't have been touching. Nice diagnostics! I fixed that, and again told the VFD to start the pump. This time the pump started up, slowly at first and then building up speed as it ramped the pressure up to the desired 50 psi (and filling the pressure tank on the way), then slowed down again. There was one more thing to check, though: the direction the motor was spinning. Centrifugal pumps actually work with the impeller rotating in either direction, but they work much better with the impeller rotating in the intended direction. The motor on my pump is a three-phase motor, and it's very common to have those rotate backwards. Mine was, naturally. :) Fixing that is a piece of cake: you just swap any two of the phases. I did that, and started the VFD one last time – everything worked fine this time. Once the pressure tank was charged, the VFD ramped down to 30 Hz and perfectly maintained 50 psi. There was a bit of noise at the lower frequencies, so I called into Glenn's Electric (where I bought the pump) and got educated on the several possible sources of that noise. All but one of them are benign and should disappear after a little use; the one bad possibility is a bad starter switch. If the noise persists, I'll call them back and they'll swap out that switch. It's very satisfying to me to have this fairly complex pump system all up and running properly. It also seems kind of odd to me that I'm the first (at least, so far as Glenn's Electric knows) to put in a booster system like I have. The usual solution is to have a full-time pump – and they're fairly expensive to run, so I'm surprised more people wouldn't opt for a run-only-when-needed system like I've installed...
Whenever I'm writing these days, it's on the computer – and there always seems to be a spelling checker operating. When I type something that gets marked as a spelling error, but looks right to me, I always go look it up in my trusty OED. Sometimes I discover that I actually did make a spelling error. More often, it's a word that's in the OED, but the spelling checker didn't know it, so I add it. That happened to me as I typed the word “ramped” in this post. The OED's definition is at right (click to embiggen); it's really a perfectly good word, so I added it to the spelling checker.
Another word I typed this morning (“snuck”) had a surprising OED page. My first surprise was that while the OED lists “snuck” as the past tense of “sneak” (which I expected), it says that's chiefly an American usage! Everywhere else it's “sneaked”. I can't recall another occasion when I've run across an English word whose root is the same in both British and American usage, but whose derivations are different. There are probably 10,000 of them, but I never noticed it before...
I've been using the CD-ROM version of the OED for years now, and I'd call it an essential tool. It's more expensive than many people would care to spend on a dictionary, though – you have to be something of a word nut to care that much. :) When away from my computer recently, I discovered that there's a reduced (but still official) version of the OED online, and free. Can't beat that!
I mentioned the other day that we had sighted a bird we didn't know, out by Miller's Ranch. Debbie found it today, and it sure surprised me! The photo at right is from the Audubon Society, and it's a year-old (“first summer”) red-winged blackbird. I would never, ever have guessed that this was a blackbird! It's so not black!!!
This morning our irrigation pressure was restored, albeit to a low level (30 psi). I pressurized the system with the pump off, and ... no leaks! Hooray! So then I decided to light off the pump for the first time, to see if the system would maintain the desired 50 psi at the output. I could only do this with the outlet shut off at the cedar shed, as the sprinkler contractor is in the middle of installing the pipes in our back yard, and there are open ends everywhere. The first time I turned on the pump's breaker, I went through a programming procedure for the variable frequency drive (VFD) system, and checked that its pressure sensor was working correctly. Then I told the VFD to start the pump, and ... promptly got a fault. “Shorted ground” was the diagnostic message that appeared. I took the cover off the pump's wiring box, and inspected it carefully – and found one tiny little strand of the ground wire touching a terminal it shouldn't have been touching. Nice diagnostics! I fixed that, and again told the VFD to start the pump. This time the pump started up, slowly at first and then building up speed as it ramped the pressure up to the desired 50 psi (and filling the pressure tank on the way), then slowed down again. There was one more thing to check, though: the direction the motor was spinning. Centrifugal pumps actually work with the impeller rotating in either direction, but they work much better with the impeller rotating in the intended direction. The motor on my pump is a three-phase motor, and it's very common to have those rotate backwards. Mine was, naturally. :) Fixing that is a piece of cake: you just swap any two of the phases. I did that, and started the VFD one last time – everything worked fine this time. Once the pressure tank was charged, the VFD ramped down to 30 Hz and perfectly maintained 50 psi. There was a bit of noise at the lower frequencies, so I called into Glenn's Electric (where I bought the pump) and got educated on the several possible sources of that noise. All but one of them are benign and should disappear after a little use; the one bad possibility is a bad starter switch. If the noise persists, I'll call them back and they'll swap out that switch. It's very satisfying to me to have this fairly complex pump system all up and running properly. It also seems kind of odd to me that I'm the first (at least, so far as Glenn's Electric knows) to put in a booster system like I have. The usual solution is to have a full-time pump – and they're fairly expensive to run, so I'm surprised more people wouldn't opt for a run-only-when-needed system like I've installed...
Whenever I'm writing these days, it's on the computer – and there always seems to be a spelling checker operating. When I type something that gets marked as a spelling error, but looks right to me, I always go look it up in my trusty OED. Sometimes I discover that I actually did make a spelling error. More often, it's a word that's in the OED, but the spelling checker didn't know it, so I add it. That happened to me as I typed the word “ramped” in this post. The OED's definition is at right (click to embiggen); it's really a perfectly good word, so I added it to the spelling checker.
Another word I typed this morning (“snuck”) had a surprising OED page. My first surprise was that while the OED lists “snuck” as the past tense of “sneak” (which I expected), it says that's chiefly an American usage! Everywhere else it's “sneaked”. I can't recall another occasion when I've run across an English word whose root is the same in both British and American usage, but whose derivations are different. There are probably 10,000 of them, but I never noticed it before...
I've been using the CD-ROM version of the OED for years now, and I'd call it an essential tool. It's more expensive than many people would care to spend on a dictionary, though – you have to be something of a word nut to care that much. :) When away from my computer recently, I discovered that there's a reduced (but still official) version of the OED online, and free. Can't beat that!
I mentioned the other day that we had sighted a bird we didn't know, out by Miller's Ranch. Debbie found it today, and it sure surprised me! The photo at right is from the Audubon Society, and it's a year-old (“first summer”) red-winged blackbird. I would never, ever have guessed that this was a blackbird! It's so not black!!!
Wednesday, August 9, 2017
Paradise ponders: embedded web servers and lucky cat edition...
Paradise ponders: embedded web servers and lucky cat edition... For most of my day yesterday I was hard at work programming. First I completed a round of testing and troubleshooting the core part of the irrigation supervisory program, the state machine that controls whether the 5 horsepower pump is enabled. That's more challenging that you might think – all the following possibilities need to be handled:
Later in the day yesterday I took a break from the state machine and got an embedded web server (using Jetty) running. This was not exactly a difficult task, and therefore well-suited as a half-brain-dead afternoon job. :) I've used Jetty before, so a lot of what I did was to remember things I'd already done in the past. The Jetty developers did a really nice job of making an easily embedded, yet very capable web server. Anyway, in under an hour I had the canonical “Hello, world!” web server up and running.
In the evening Debbie and I made a wildlife-viewing run up Blacksmith Fork canyon, and out to Miller's Ranch. We saw lots of things, but most especially does with fawns. Just north of Miller's Ranch we saw the flock of Cedar Waxwings we've been observing all year. Right at Miller's Ranch we saw a pair of birds we don't know: they resemble grosbeaks (though their beak wasn't quite as thick), or perhaps meadowlarks. They had black feet and were feeding from the tops of blooming Dyer's Woad. Their most distinctive feature, though, was a bright red flash on their wing close to their bodies (or perhaps on their shoulder). Our plan was to identify them in our Sibley's book when we returned, but that plan got sidetracked by an unexpected encounter.
As we were returning, roughly two miles from Hyrum I spotted a dark house cat sitting in a pullout on the south side of Blacksmith Fork Canyon Road. I drove past it before I could stop, but then reversed and pulled into the pullout. The cat didn't move at first, but then started trotting toward our car. That's very much not the behavior of a feral cat. Then Debbie opened her door and got out, and the cat ran right up to her. She could pick her up without any trouble, and while holding her we could do a quick assessment of her condition. She was skinny but not emaciated, had been nursing kittens not too long ago (no milk, but also no hair around her teats), her coat was full of burrs, she'd been sprayed some time ago by a skunk, and some fur was missing (making us worry about mange). Otherwise she seemed okay, with no obvious injuries. The fact that she'd had kittens recently worried us – were her kittens in the area, and was she still taking care of them? Her behavior suggested otherwise; she showed no inclination to either lead us to or keep us away from any kittens. We let her down and then just followed her to see if she'd move toward kittens, but instead she kept returning to either us or our car. This was obviously a cat used to being around people. Then we tried putting her in the car with us, to see if she'd act concerned about leaving the area. Quite the opposite; she seemed overjoyed to be out of there. I drove, Debbie held her, and she was purring loudly and kneading biscuits with great enthusiasm. After that, we decided that a rescue was in order, as there most likely were no kittens to be concerned about.
So off to home we went, where we set up our new cat in isolation until we can get her checked out by a vet, vaccinated, etc. We put down some food for her, and she immediately went to work on it (photos below) – obviously very hungry. She ate an entire can of wet food, and about a cup of dry food along with it. We put up a waterer and a little box, and made sure she had some comfortable places to lay down, and called it a night. This morning we came up with a name for her: Laki, which is the Hawai'ian word for “lucky” – and she's certainly one lucky kitty to have run into us out there. Debbie will be lavishing attention on Laki this morning, and (assuming she's free of any awful disease) I have no doubt that within a week or two Laki will be integrated with the rest of our kitties...
- The water supply (from the Paradise Irrigation cooperative that I belong to) pressure may be high enough that no boost from the pump is required. In this case we don't want to turn on the pump at all.
- The water supply may be turned off, or nearly so – in which case running the pump would destroy it, so we want to turn it off.
- The pump cannot maintain sufficient output pressure. This might happen if there was a break in the line, or if there was a problem with the variable frequency drive (VFD). In this case, running the pump won't hurt it, but the irrigation system won't work properly – so we want to suspend the irrigation schedule and turn off the pump.
- The pump produces too high an output pressure. This condition runs the risk of destroying the sprinkler system, and indicates that there's something wrong with the constant pressure pump system. In this case we want to turn off the pump and alert a human to come help.
- Either or both of the filters could be excessively clogged, causing a pressure drop across the filter(s) and therefore a lower than desirable pressure to the sprinklers. In this case, we want to to alert a human to come help.
- A human may have disabled the system (for instance, to clean the filters). In this case we want to turn off the pump and suspend the irrigation schedule.
- If any of the above conditions caused the pump to shut down, when the conditions have cleared (or enough time has gone by that we want to try again), then we need to turn the pump back on and resume the irrigation schedule if it was suspended.
Later in the day yesterday I took a break from the state machine and got an embedded web server (using Jetty) running. This was not exactly a difficult task, and therefore well-suited as a half-brain-dead afternoon job. :) I've used Jetty before, so a lot of what I did was to remember things I'd already done in the past. The Jetty developers did a really nice job of making an easily embedded, yet very capable web server. Anyway, in under an hour I had the canonical “Hello, world!” web server up and running.
In the evening Debbie and I made a wildlife-viewing run up Blacksmith Fork canyon, and out to Miller's Ranch. We saw lots of things, but most especially does with fawns. Just north of Miller's Ranch we saw the flock of Cedar Waxwings we've been observing all year. Right at Miller's Ranch we saw a pair of birds we don't know: they resemble grosbeaks (though their beak wasn't quite as thick), or perhaps meadowlarks. They had black feet and were feeding from the tops of blooming Dyer's Woad. Their most distinctive feature, though, was a bright red flash on their wing close to their bodies (or perhaps on their shoulder). Our plan was to identify them in our Sibley's book when we returned, but that plan got sidetracked by an unexpected encounter.
As we were returning, roughly two miles from Hyrum I spotted a dark house cat sitting in a pullout on the south side of Blacksmith Fork Canyon Road. I drove past it before I could stop, but then reversed and pulled into the pullout. The cat didn't move at first, but then started trotting toward our car. That's very much not the behavior of a feral cat. Then Debbie opened her door and got out, and the cat ran right up to her. She could pick her up without any trouble, and while holding her we could do a quick assessment of her condition. She was skinny but not emaciated, had been nursing kittens not too long ago (no milk, but also no hair around her teats), her coat was full of burrs, she'd been sprayed some time ago by a skunk, and some fur was missing (making us worry about mange). Otherwise she seemed okay, with no obvious injuries. The fact that she'd had kittens recently worried us – were her kittens in the area, and was she still taking care of them? Her behavior suggested otherwise; she showed no inclination to either lead us to or keep us away from any kittens. We let her down and then just followed her to see if she'd move toward kittens, but instead she kept returning to either us or our car. This was obviously a cat used to being around people. Then we tried putting her in the car with us, to see if she'd act concerned about leaving the area. Quite the opposite; she seemed overjoyed to be out of there. I drove, Debbie held her, and she was purring loudly and kneading biscuits with great enthusiasm. After that, we decided that a rescue was in order, as there most likely were no kittens to be concerned about.
So off to home we went, where we set up our new cat in isolation until we can get her checked out by a vet, vaccinated, etc. We put down some food for her, and she immediately went to work on it (photos below) – obviously very hungry. She ate an entire can of wet food, and about a cup of dry food along with it. We put up a waterer and a little box, and made sure she had some comfortable places to lay down, and called it a night. This morning we came up with a name for her: Laki, which is the Hawai'ian word for “lucky” – and she's certainly one lucky kitty to have run into us out there. Debbie will be lavishing attention on Laki this morning, and (assuming she's free of any awful disease) I have no doubt that within a week or two Laki will be integrated with the rest of our kitties...
Tuesday, August 8, 2017
Paradise ponders: life in the country, and seeing old friends edition...
Paradise ponders: life in the country, and seeing old friends edition... Yesterday afternoon, Debbie and I drove down to Ogden to visit with Doug and Dee W. I've known Doug since 1991, when I started working for Stac Electronics. Doug and Dee are starting an LDS mission next month, and they'll be gone (to Rome!) for the two year extent of that mission. We won't have a chance to see them for that period unless we hie ourselves to Rome, and I'm not at all sure we could pull that off. So the purpose of our visit was a bit melancholic – but the visit wasn't at all. Doug's sister Marilyn (whom we've met before) and his mom joined us. We really enjoyed getting to know his mom a bit. She's 92, but still sharp, participating in our conversation. We learned a bit about what Doug and Dee's mission is all about, and poor Marilyn and mom had to suffer through some stories from us. We had a great time! We're gonna miss Doug and Dee, though...
Sunday and the rest of Monday were very “country” days for me. I helped my friend and neighbor move hand line (irrigation pipe), spent some time getting to know another neighbor's mule (Gunner), worked on the irrigation plumbing for a while (more on that below), and worked with the contractor doing our sprinklers. I also fed the dogs, played with them for a while, fed the birds, watered plants, and pulled weeds. All of this stuff is pretty typical for a day in the country. I love it!
Our south field (12 acres) got mowed yesterday afternoon. The windrows of cut alfalfa are huge – Scott N., the fellow leasing that field from us, let the alfalfa grow much bigger than he's ever done before. Much of it had actually gone to seed. He's going to get a lot of hay from this cutting...
The irrigation plumbing efforts had mixed results. You may recall that I had two leaks to fix. The bad PVC joint leak I've now fixed, using the product pictured at right, called “Leak-B-Gone”. Despite the corny name, this product worked exactly as advertised – and it saved me a couple hours of work and around $35 in parts I would have had to discard. The manufacturer's description of the problems it can solve is careful and conservative, not the sort of shrill hawking one might expect to see. I like it. The other leak (the dripping galvanized pipe threaded connections) is not fixed. Or rather, one of the two connections is not fixed. I used Loctite 565 thread sealant on it (the stuff recommended in my web research), but it still drips. Yesterday I got a pair of big pipe wrenches on it, and tightened it to the limits of my ability. I figure I torqued it down to something like 250 ft/lbs. Now I'm letting the thread sealant cure some more; tomorrow I'll test it again. If it still leaks, I think I shall contact the pump vendor for help...
On the subject of leaks, though, yesterday brought some good news. On Friday the contractor who did all the gasoline and diesel plumbing in our little filling station came back and redid the gasoline side. This was after a successful test of a new thread sealant on the diesel side earlier in the week. Yesterday I pressurized the gasoline side to check for leaks – and there wasn't a single drop to be seen anywhere. Hooray! We now have a functionally complete little filling station! I have a few details left to complete: the door closer, the lock, and some wood rub bars to keep the hoses from fraying on concrete. That's all minor stuff. All the hard part is done!
I also got quite a bit of work done in my irrigation supervisory program on Sunday and Monday. After I got my first pass done on the state machine, I thought of a much better implementation method, and yesterday I got that finished and running. This new approach cut the lines of code by almost 50%, and most especially it cut out tons of Java “boilerplate” code. What's left is a spare and understandable state machine, one of the nicest I've ever done in Java.
For the geeks out there, here's what I did. I have an enum that represents the state (one of four: OFF, STARTING, ON, STOPPING). In the enum declaration, I initialized a map that associates strings representing events with an action object. When an event occurs, the state machine calls a method on the current state that looks up the event and calls the associated action. Simple, clear, and performant. Also way easier to maintain than my initial design.
While I was working on that state machine, something occurred to me that probably explains why I like state machines more than most engineers I've worked with. It's a simple explanation, but it didn't register with me right away. I've done a lot of digital hardware design, though most of that was over 30 years ago. That design work often included hardware state machines, which in many ways are easier to design than software state machines. For problems other than the very simplest, the hardware state machine was one of the first design choices. Even in discrete logic, you could implement a state machine with just a few parts and solve fairly complex problems with simple, easy-to-understand designs. I used them often, and most (but certainly not all) hardware engineers I worked with also understood them. I'll bet you that's the source of my attraction to software state machines. Now if I could just convince myself to look at them earlier in the design process... :)
Sunday and the rest of Monday were very “country” days for me. I helped my friend and neighbor move hand line (irrigation pipe), spent some time getting to know another neighbor's mule (Gunner), worked on the irrigation plumbing for a while (more on that below), and worked with the contractor doing our sprinklers. I also fed the dogs, played with them for a while, fed the birds, watered plants, and pulled weeds. All of this stuff is pretty typical for a day in the country. I love it!
Our south field (12 acres) got mowed yesterday afternoon. The windrows of cut alfalfa are huge – Scott N., the fellow leasing that field from us, let the alfalfa grow much bigger than he's ever done before. Much of it had actually gone to seed. He's going to get a lot of hay from this cutting...
The irrigation plumbing efforts had mixed results. You may recall that I had two leaks to fix. The bad PVC joint leak I've now fixed, using the product pictured at right, called “Leak-B-Gone”. Despite the corny name, this product worked exactly as advertised – and it saved me a couple hours of work and around $35 in parts I would have had to discard. The manufacturer's description of the problems it can solve is careful and conservative, not the sort of shrill hawking one might expect to see. I like it. The other leak (the dripping galvanized pipe threaded connections) is not fixed. Or rather, one of the two connections is not fixed. I used Loctite 565 thread sealant on it (the stuff recommended in my web research), but it still drips. Yesterday I got a pair of big pipe wrenches on it, and tightened it to the limits of my ability. I figure I torqued it down to something like 250 ft/lbs. Now I'm letting the thread sealant cure some more; tomorrow I'll test it again. If it still leaks, I think I shall contact the pump vendor for help...
On the subject of leaks, though, yesterday brought some good news. On Friday the contractor who did all the gasoline and diesel plumbing in our little filling station came back and redid the gasoline side. This was after a successful test of a new thread sealant on the diesel side earlier in the week. Yesterday I pressurized the gasoline side to check for leaks – and there wasn't a single drop to be seen anywhere. Hooray! We now have a functionally complete little filling station! I have a few details left to complete: the door closer, the lock, and some wood rub bars to keep the hoses from fraying on concrete. That's all minor stuff. All the hard part is done!
I also got quite a bit of work done in my irrigation supervisory program on Sunday and Monday. After I got my first pass done on the state machine, I thought of a much better implementation method, and yesterday I got that finished and running. This new approach cut the lines of code by almost 50%, and most especially it cut out tons of Java “boilerplate” code. What's left is a spare and understandable state machine, one of the nicest I've ever done in Java.
For the geeks out there, here's what I did. I have an enum that represents the state (one of four: OFF, STARTING, ON, STOPPING). In the enum declaration, I initialized a map that associates strings representing events with an action object. When an event occurs, the state machine calls a method on the current state that looks up the event and calls the associated action. Simple, clear, and performant. Also way easier to maintain than my initial design.
While I was working on that state machine, something occurred to me that probably explains why I like state machines more than most engineers I've worked with. It's a simple explanation, but it didn't register with me right away. I've done a lot of digital hardware design, though most of that was over 30 years ago. That design work often included hardware state machines, which in many ways are easier to design than software state machines. For problems other than the very simplest, the hardware state machine was one of the first design choices. Even in discrete logic, you could implement a state machine with just a few parts and solve fairly complex problems with simple, easy-to-understand designs. I used them often, and most (but certainly not all) hardware engineers I worked with also understood them. I'll bet you that's the source of my attraction to software state machines. Now if I could just convince myself to look at them earlier in the design process... :)
Sunday, August 6, 2017
Paradise ponders: good neighbors and bad code edition...
Paradise ponders: good neighbors and bad code edition... Yesterday was a bit of an odd day for me.
I started out by helping my friend Tim D. moving his hand line. It was the fifth day of a six day watering cycle, so we'd been doing for several days already. The work isn't really very hard as the pipes only weigh 35 or 40 pounds – but it does involve a lot of walking. I'd guess we walk a mile to a mile-and-a-half each morning we're moving pipe. After finishing with the pipe, I came back inside for a second cup of tea.
As I was drinking that, I noticed our newest neighbor, Heath C., out on his field with his truck and trailer. He was picking up the 140 bales of hay that he'd had baled the day before. That's a lot for one guy to pick up, especially when he has to keep moving his truck to somewhere near some bales on the field (after picking up the nearby ones). So after I poured the tea down my gullet I wandered over to give him a hand. Shortly after I arrived, a young lady (Sarah S., fifteen years old) also came out to help. Between the three of us we had that field picked up, the bales stacked, and tarps thrown over to cover them in under an hour.
By the time I'd finished with all that, I was physically wiped out. My ancient body isn't used to doing hard physical labor like that! :) With what little energy I had left, in between helping Debbie with some cleaning, I fixed a piece of bad code in the irrigation supervisor program I'm working on. That bad code was small, but way too complicated and “clever”. When I realized that I was having trouble making it work correctly because I had trouble understanding what was going on in it, I knew it was time to start over. I changed the design to an event-driven finite state machine. That ended up being perhaps four times as much code, but ... it all worked on the first try. Even better, as I tested it and discovered additions that were needed, those were all easy to make. Repeatedly in my software development career I've bumped into situations where state machines were great solutions – but nearly always it's the second or third approach I take. For some reason I seem to have trouble recognizing early the problems that would make good use of state machines...
In my last employment, on the few occasions when I made a state machine to solve some problem, I got quite a bit of criticism from other engineers if they noticed what I'd done. Their issue was, basically, that they didn't understand state machines and therefore my code was hard for them to understand. Though I debated them heatedly on this point, in all cases but one my boss eventually told me to remove the state machine. That one exception was a particularly complex case where nobody could come up with a viable alternative. :)
I started out by helping my friend Tim D. moving his hand line. It was the fifth day of a six day watering cycle, so we'd been doing for several days already. The work isn't really very hard as the pipes only weigh 35 or 40 pounds – but it does involve a lot of walking. I'd guess we walk a mile to a mile-and-a-half each morning we're moving pipe. After finishing with the pipe, I came back inside for a second cup of tea.
As I was drinking that, I noticed our newest neighbor, Heath C., out on his field with his truck and trailer. He was picking up the 140 bales of hay that he'd had baled the day before. That's a lot for one guy to pick up, especially when he has to keep moving his truck to somewhere near some bales on the field (after picking up the nearby ones). So after I poured the tea down my gullet I wandered over to give him a hand. Shortly after I arrived, a young lady (Sarah S., fifteen years old) also came out to help. Between the three of us we had that field picked up, the bales stacked, and tarps thrown over to cover them in under an hour.
By the time I'd finished with all that, I was physically wiped out. My ancient body isn't used to doing hard physical labor like that! :) With what little energy I had left, in between helping Debbie with some cleaning, I fixed a piece of bad code in the irrigation supervisor program I'm working on. That bad code was small, but way too complicated and “clever”. When I realized that I was having trouble making it work correctly because I had trouble understanding what was going on in it, I knew it was time to start over. I changed the design to an event-driven finite state machine. That ended up being perhaps four times as much code, but ... it all worked on the first try. Even better, as I tested it and discovered additions that were needed, those were all easy to make. Repeatedly in my software development career I've bumped into situations where state machines were great solutions – but nearly always it's the second or third approach I take. For some reason I seem to have trouble recognizing early the problems that would make good use of state machines...
In my last employment, on the few occasions when I made a state machine to solve some problem, I got quite a bit of criticism from other engineers if they noticed what I'd done. Their issue was, basically, that they didn't understand state machines and therefore my code was hard for them to understand. Though I debated them heatedly on this point, in all cases but one my boss eventually told me to remove the state machine. That one exception was a particularly complex case where nobody could come up with a viable alternative. :)
Friday, August 4, 2017
This puts the hurt on my eyeballs...
This puts the hurt on my eyeballs... It's one of the most remarkable optical illusions I've ever seen. That “spiral” you see at right isn't a spiral at all! It's a series of concentric circles. Really! Trace them out to prove it to yourself!
Excellent little article here explaining the phenomenon.
Sometime back in the Paleozoic Era (circa 1979), I built a device to help a scientist measure spatial resolution in people, at various contrast ratios. The display of this device was a bunch of vertical bars whose brightness was proportional to the sine of their horizontal position on the screen. These bars were very similar to the patches described in that linked article. The device was challenging to build at a low cost back in those days. Micro computers were nowhere near fast enough to generate the sinusoidal wave in real time, and memory was far too expensive to do what would be obvious today: make a pure graphics display and compute the brightness for each pixel. So I ended up with a compromise design. First, by displaying only vertical bars (and physically rotating the display for other orientations) I had the advantage of having the exact same brightness pattern on every raster line. That meant I needed only enough memory to store the brightness for a single line, and that turned out to be 1k bytes. I just used the same values in memory for every raster line. Then instead of computing the sine for every pixel in that memory, I estimated it with a linear interpolation between two points 5 degrees apart. I further reduced the computation required by using the fact that each quadrant (90 degrees) of the sine is a mirror of the others, so by computing one sine I got three more for only the cost of a few additions and subtractions. By doing all this I was able to have that device load a new set of values for the display in under a second – which sounds very slow by today's standards, but back then was quite zippy. It was a good example of the sorts of “tricks” engineers routinely resorted to back then to accommodate the wimpy processors available then.
That instrument had one more interesting little twist. To generate the raster waveform, I needed a fairly fast 8 bit D/A converter. Those were only available back then as multi-component modules, fairly large and very expensive. The state-of-the-art then for D/A converters was the ladder adder, with precision resistors in an “oven” to keep them at a constant temperature. That was all way more expense and complexity than we wanted in this instrument! A different approach was definitely needed. What I came up with was slightly heretical, but perfectly adequate for our needs. For each of the eight bits of output value I connected a FET switch driving a resistor. The resistor value for the most significant bit was 1k ohms, and for each bit of lower significance it was about 2.05 times the value of the next most significant bit. Each of these resistors was actually a simple resistor in series with a trimmer potentiometer, so I could tweak it to the right value. The other end of these resistors were connected together at the input of an op-amp buffer. The net effect was a simple analog adder. By using a multiplier of 2.05 (instead of the 2.0 you'd expect), I had a simple way of guaranteeing the output would monotonically increase as the digital input value increased. By keeping the design to a simple adder, the circuit was quite fast (though just barely within the capability of the op-amps then available). The trickiest bit of that circuit turned out to be a sample-and-hold piece that was needed in order to avoid the inevitable settling noise when the digital value was changed. This set of tricks only worked because precision was less important than monotonicity for this application, but it was fun to be able to take advantage of that. The entire D/A converter cost about $15 in parts, versus $3,500 or so for the commercial module. That was really fun!
Excellent little article here explaining the phenomenon.
Sometime back in the Paleozoic Era (circa 1979), I built a device to help a scientist measure spatial resolution in people, at various contrast ratios. The display of this device was a bunch of vertical bars whose brightness was proportional to the sine of their horizontal position on the screen. These bars were very similar to the patches described in that linked article. The device was challenging to build at a low cost back in those days. Micro computers were nowhere near fast enough to generate the sinusoidal wave in real time, and memory was far too expensive to do what would be obvious today: make a pure graphics display and compute the brightness for each pixel. So I ended up with a compromise design. First, by displaying only vertical bars (and physically rotating the display for other orientations) I had the advantage of having the exact same brightness pattern on every raster line. That meant I needed only enough memory to store the brightness for a single line, and that turned out to be 1k bytes. I just used the same values in memory for every raster line. Then instead of computing the sine for every pixel in that memory, I estimated it with a linear interpolation between two points 5 degrees apart. I further reduced the computation required by using the fact that each quadrant (90 degrees) of the sine is a mirror of the others, so by computing one sine I got three more for only the cost of a few additions and subtractions. By doing all this I was able to have that device load a new set of values for the display in under a second – which sounds very slow by today's standards, but back then was quite zippy. It was a good example of the sorts of “tricks” engineers routinely resorted to back then to accommodate the wimpy processors available then.
That instrument had one more interesting little twist. To generate the raster waveform, I needed a fairly fast 8 bit D/A converter. Those were only available back then as multi-component modules, fairly large and very expensive. The state-of-the-art then for D/A converters was the ladder adder, with precision resistors in an “oven” to keep them at a constant temperature. That was all way more expense and complexity than we wanted in this instrument! A different approach was definitely needed. What I came up with was slightly heretical, but perfectly adequate for our needs. For each of the eight bits of output value I connected a FET switch driving a resistor. The resistor value for the most significant bit was 1k ohms, and for each bit of lower significance it was about 2.05 times the value of the next most significant bit. Each of these resistors was actually a simple resistor in series with a trimmer potentiometer, so I could tweak it to the right value. The other end of these resistors were connected together at the input of an op-amp buffer. The net effect was a simple analog adder. By using a multiplier of 2.05 (instead of the 2.0 you'd expect), I had a simple way of guaranteeing the output would monotonically increase as the digital input value increased. By keeping the design to a simple adder, the circuit was quite fast (though just barely within the capability of the op-amps then available). The trickiest bit of that circuit turned out to be a sample-and-hold piece that was needed in order to avoid the inevitable settling noise when the digital value was changed. This set of tricks only worked because precision was less important than monotonicity for this application, but it was fun to be able to take advantage of that. The entire D/A converter cost about $15 in parts, versus $3,500 or so for the commercial module. That was really fun!
Thursday, August 3, 2017
Paradise ponders: dogs, Tesla, good eats, and rock man edition...
Paradise ponders: dogs, Tesla, good eats, and rock man edition... Got my Tesla Model X serviced without incident. My couple of near-trivial complaints (for instance, the falcon-wing doors squeaked a tiny bit) were dealt with handily. They found me a bottle of touch-up paint for the dings I've suffered. When they were finished, they cleaned my car inside and out – looks like new! I did notice slightly different handling on the drive back home, even more stable and solid than it was before. I love my Model X. :)
Randy Bingham, the mason who's done such nice work for us, stopped by with a sample of the rock he's recommending for our porches. It was gorgeous! It's available up to 4" thick and in slabs big enough to cover every step and landing with a single piece, except for the biggest landing on our front porch. That one we'll do in three pieces, so that the center piece we'll most commonly walk on will be seamless. He's putting that rock on order this afternoon. Slowly – very slowly – our yard is starting to come together...
Randy brought one of his dogs, a little tiny thing named Kate. She weighs maybe five pounds. She's usually very skittish of strangers, Randy tells us, but she came right up to both Debbie and I. Randy was really impressed with that. :) I spent a half hour or so today just playing with the dogs on our deck; great fun was had by all except Mr. Grump (aka Miki). He just looked on, all put out, from the most distant corner.
We had a wonderful afternoon meal. Debbie made her world-famous artichoke chicken, so good it will make your brains fall out. I failed to take a photo because I didn't want anything to get in the way of stuffing it into my face. Afterwards we drove up to Aggie's Creamery and had a delicious ice cream cone. Sometimes our life here feels downright decadent, and in large part that's because of how well we're eating. We've eaten like kings now for about three years, about half home cooking and half eating out...
Randy Bingham, the mason who's done such nice work for us, stopped by with a sample of the rock he's recommending for our porches. It was gorgeous! It's available up to 4" thick and in slabs big enough to cover every step and landing with a single piece, except for the biggest landing on our front porch. That one we'll do in three pieces, so that the center piece we'll most commonly walk on will be seamless. He's putting that rock on order this afternoon. Slowly – very slowly – our yard is starting to come together...
Randy brought one of his dogs, a little tiny thing named Kate. She weighs maybe five pounds. She's usually very skittish of strangers, Randy tells us, but she came right up to both Debbie and I. Randy was really impressed with that. :) I spent a half hour or so today just playing with the dogs on our deck; great fun was had by all except Mr. Grump (aka Miki). He just looked on, all put out, from the most distant corner.
We had a wonderful afternoon meal. Debbie made her world-famous artichoke chicken, so good it will make your brains fall out. I failed to take a photo because I didn't want anything to get in the way of stuffing it into my face. Afterwards we drove up to Aggie's Creamery and had a delicious ice cream cone. Sometimes our life here feels downright decadent, and in large part that's because of how well we're eating. We've eaten like kings now for about three years, about half home cooking and half eating out...
First scheduled maintenance...
First scheduled maintenance ... for my Tesla Model X! We've put 12,500 miles on it since the end of December, and that's the trigger for the first scheduled maintenance. I made an early morning appointment (8:30) without considering the traffic – only last night did I realize that meant I'd be driving with the rush hour traffic on my way down. I'm leaving early. :) It will be interesting to see what they do on this visit...
Wednesday, August 2, 2017
Paradise ponders: wooden stirrup, leaky pipes, and stair rails edition...
Paradise ponders: wooden stirrup, leaky pipes, and stair rails edition... This morning my brother Scott came by, looking for a bit of help in building some wooden stirrups. Wooden stirrups? Why would one want those? Well, it turns out that people from the town of Newton (where Scott lives) volunteered to build a display for the town, to be shown at this month's Cache County fair. Scott was one of the volunteers, and he got the job of making wooden stirrups (along with some other stuff). As I understand it (and I'm not entirely sure I do!), other volunteers are going to combine the wooden stirrups with potatoes, other vegetables, and who knows what else to make ... little potato-head stirrup people. Exactly why they're doing this remains unexplained. :) But making the wooden stirrups (photos below) was fun, mainly because it involved boiling wood for 45 minutes or so to make it bendable. There was also a bit of a challenge cutting a precise angle on the dowels that make up the hanger on them. They came out rather nicely!
Yesterday morning I tried very hard to fix the leaks in the 2 1/2" galvanized pipe fittings on my irrigation pump. I tried a total of four different thread treatments (thin Teflon tape, thick Teflon tape, Teflon paste, and old fashioned pipe dope). None of them worked – I had a drippy leak after using them all. So I got online and looked up methods to stop leaks in large threaded joints, and found hundreds upon hundreds of posts about it. Obviously I'm not the first one to face this challenge! There seemed to be consistent advice that a product called Loctite 565 thread sealant would do the trick. So I ordered some, and it will be here tomorrow afternoon. If that doesn't work, then I'm not sure what to do!
After my abject failure at fixing that leak, I went to work installing the stair rails we had made for our sun room stairs (the ones I made earlier this year). The first step was to drill the holes for the mounting bolts – a little scary, that, as if any of the hole were incorrectly located it would permanently mar those stairs. The photo at right shows the after-drilling view. Debbie (who was helping me) was mighty worried about the location of the holes! :) I thought that after that, all I'd have to do would be to drop the bolts in, tighten the nuts, and I'd be done. Oh, no, no, no...
First, the powder-coating operation on the rail filled in the holes in the steel plates on the bottom sufficiently that I couldn't insert the bolts at all. So I had to drill all those out. Worse, the threads on the bolts weren't long enough to allow the nuts to be tightened. The bolts were beautifully powder-coated to match the rail, so I couldn't just run out and buy new bolts. I had to cut an additional 1.5" of thread on each of 12 bolts. I have a tap & die set, so I'm equipped to do that. But – cutting that much thread (18" in total) on high quality (so very hard) 3/8" steel bolts was quite a bit of work. My arms were tired when I got done! But the end result (at left) was worth it: a beautiful and sturdy rail to go with those stairs. The finish matches the finish on the basement window well covers. If you look closely in the photo, you can see Konani poking his head through the cat-hole, checking to see if it's safe for him to come up...
Yesterday morning I tried very hard to fix the leaks in the 2 1/2" galvanized pipe fittings on my irrigation pump. I tried a total of four different thread treatments (thin Teflon tape, thick Teflon tape, Teflon paste, and old fashioned pipe dope). None of them worked – I had a drippy leak after using them all. So I got online and looked up methods to stop leaks in large threaded joints, and found hundreds upon hundreds of posts about it. Obviously I'm not the first one to face this challenge! There seemed to be consistent advice that a product called Loctite 565 thread sealant would do the trick. So I ordered some, and it will be here tomorrow afternoon. If that doesn't work, then I'm not sure what to do!
After my abject failure at fixing that leak, I went to work installing the stair rails we had made for our sun room stairs (the ones I made earlier this year). The first step was to drill the holes for the mounting bolts – a little scary, that, as if any of the hole were incorrectly located it would permanently mar those stairs. The photo at right shows the after-drilling view. Debbie (who was helping me) was mighty worried about the location of the holes! :) I thought that after that, all I'd have to do would be to drop the bolts in, tighten the nuts, and I'd be done. Oh, no, no, no...
First, the powder-coating operation on the rail filled in the holes in the steel plates on the bottom sufficiently that I couldn't insert the bolts at all. So I had to drill all those out. Worse, the threads on the bolts weren't long enough to allow the nuts to be tightened. The bolts were beautifully powder-coated to match the rail, so I couldn't just run out and buy new bolts. I had to cut an additional 1.5" of thread on each of 12 bolts. I have a tap & die set, so I'm equipped to do that. But – cutting that much thread (18" in total) on high quality (so very hard) 3/8" steel bolts was quite a bit of work. My arms were tired when I got done! But the end result (at left) was worth it: a beautiful and sturdy rail to go with those stairs. The finish matches the finish on the basement window well covers. If you look closely in the photo, you can see Konani poking his head through the cat-hole, checking to see if it's safe for him to come up...
Monday, July 31, 2017
We're back on line...
We're back on line ... with our full gbps bandwidth. The way that the line was damaged means it can only be repaired by burying a new cable in a new conduit. It's a long run, too – about 340' – so they're going to bring a contractor with a trenching machine out here to do it. Normally they're a couple of weeks backlogged, but they're going to try to get them here before we get new sod put down (next week, we hope) in our back yard where the cable has to run. Meanwhile they laid a temporary connection above ground, and with that we're back on the air. That above-ground connection is incredibly vulnerable to damage from the sprinkler contractors, me walking around, and the dogs. I suspect its life expectancy is on the order of a few days...
The sprinkler contractors were here all day connecting water to the inlet of my pump setup (the one I just finished building a few days ago). We were able to pressurize about half the setup inside my cedar shed this afternoon, and to my delight there were no major leaks. In fact, at first I thought it wasn't leaking a drop, not even from the three unions that I pressurized. But with some careful inspection, I found three joints that had minor drips: the three all-steel threaded connections in the entire setup! All of the PVC joints are perfectly watertight, as are the threaded PVC-to-brass connections, the clamped 1/4" tubing connections, and the PEX crimp connections. Only the steel-on-steel threaded joints are leaking at all, and they've got a very slow drip (about two drops per minute). After the system depressurizes, I'll take that joint apart, slather Teflon tape on it, and try again. It's fortunately perhaps the easiest set of joints in the entire system to work on. Yay!
Being able to pressurize part of the system also meant that I got two of my pressure gauges pressurized. At the time I turned it on, we had 30 psi in our supply line (a 6" diameter line provided by the Paradise Pressurized Irrigation Corporation that I'm a shareholder in). I was surprised by that – judging from how well the sprinklers are currently operating, I was expecting to see something more like 50 psi.
The past couple of days I've put about 10 hours into programming the supervisory computer. So far it's all in my laptop, in a test harness that I put together. Large parts of it are up and running right now. It almost feels dangerous for me to start programming again – it is such a satisfying and enjoyable activity for me that I'm afraid I'll be tempted to neglect other important things going on around here. I find myself resenting every little thing that drags me off of programming. In that respect, it's like an addiction. I'm also a bit surprised just how easily it's all coming back to me. Not just the programming itself, but also all the skills I'd acquired using my programming tool set, most especially the IDE (I use IntelliJ IDEA by JetBrains). My little supervisory computer makes extensive use of threading and concurrency, some of the more challenging aspects of programming, and I'm having no trouble at all slipping right back into my concurrent programming groove. One particular thing I got reasonably good at was holding a mental version of the threading model I was building, and that can get pretty complex – and I can still do that, just as well as ever so far as I can tell. I must still have at least some little gray cells still functioning!
The sprinkler contractors were here all day connecting water to the inlet of my pump setup (the one I just finished building a few days ago). We were able to pressurize about half the setup inside my cedar shed this afternoon, and to my delight there were no major leaks. In fact, at first I thought it wasn't leaking a drop, not even from the three unions that I pressurized. But with some careful inspection, I found three joints that had minor drips: the three all-steel threaded connections in the entire setup! All of the PVC joints are perfectly watertight, as are the threaded PVC-to-brass connections, the clamped 1/4" tubing connections, and the PEX crimp connections. Only the steel-on-steel threaded joints are leaking at all, and they've got a very slow drip (about two drops per minute). After the system depressurizes, I'll take that joint apart, slather Teflon tape on it, and try again. It's fortunately perhaps the easiest set of joints in the entire system to work on. Yay!
Being able to pressurize part of the system also meant that I got two of my pressure gauges pressurized. At the time I turned it on, we had 30 psi in our supply line (a 6" diameter line provided by the Paradise Pressurized Irrigation Corporation that I'm a shareholder in). I was surprised by that – judging from how well the sprinklers are currently operating, I was expecting to see something more like 50 psi.
The past couple of days I've put about 10 hours into programming the supervisory computer. So far it's all in my laptop, in a test harness that I put together. Large parts of it are up and running right now. It almost feels dangerous for me to start programming again – it is such a satisfying and enjoyable activity for me that I'm afraid I'll be tempted to neglect other important things going on around here. I find myself resenting every little thing that drags me off of programming. In that respect, it's like an addiction. I'm also a bit surprised just how easily it's all coming back to me. Not just the programming itself, but also all the skills I'd acquired using my programming tool set, most especially the IDE (I use IntelliJ IDEA by JetBrains). My little supervisory computer makes extensive use of threading and concurrency, some of the more challenging aspects of programming, and I'm having no trouble at all slipping right back into my concurrent programming groove. One particular thing I got reasonably good at was holding a mental version of the threading model I was building, and that can get pretty complex – and I can still do that, just as well as ever so far as I can tell. I must still have at least some little gray cells still functioning!
Screeching halt!
Screeching halt! That's what happened to our Internet on Saturday morning. Not until this morning did I figure out what the cause was: our sprinkler contractors rammed a shovel into the plastic conduit that carries the cable under our back yard, and that was enough to create a short in the cable. We have repair people arriving in an hour or so to fix it. Meanwhile, I'm restricted to a terrible Internet connection via the hot spot on my iPhone. It's slow because the signal out here is awful. Once we're back up I'll make a real post...
Saturday, July 29, 2017
Paradise ponders: plumbing and wildlife edition...
Paradise ponders: plumbing and wildlife edition... Yesterday and this morning I was fully engaged in finishing the plumbing work that I'm doing for our new irrigation system. That's all inside the cedar shed we put up a couple months ago. The panorama below shows the west side of that cedar shed, with all the plumbing components in place and plumbed. The normal photos below that show some of the details. The first of these shows the pump with its check-valved bypass over the top. The second shows my gauge array. The last one shows the fine and coarse filters (but the fine filter isn't fully assembled yet, as we're waiting on a part). We don't have water hooked up to the cedar shed yet, so I haven't been able to test any of this. I'll be very sad if I have any bad leaks...
This past week we've made a couple trips back up toward Ant Flats (past Hardware Ranch), we rather spectacularly good wildlife viewing. On the first of those trips it was early evening on an overcast day, and we saw an amazing variety of birds near Miller's Ranch. The species I remember include Bullock's orioles, lazuli buntings, yellow warblers, Sandhill cranes, cedar waxwings, a lark (but not a meadowlark), a water bird we don't know walking around on duckweed, a beautiful tiny hawk (falcon-like), and meadowlarks (a pair with a juvenile). We also saw a doe with a fawn (still spotted). The next trip was also in the early evening but on a clear day. We saw very few birds – but we did see three banded kingfishers sitting together in a dead tree, completely ignoring us. Generally we see kingfishers as solitary examples, and they're very skittish of us. This was weird! The best part of that second day, though, was the deer. We saw about a dozen does with fawns, including six or seven sets of twins. All of these fawns were roughly the same size (and therefore age), all still spotted, but old enough to graze. We also spotted a chipmunk (they're rare here, as are all the members of the squirrel family) and a muskrat swimming.
As I write this, it's late morning, and I'm about to jump back into the irrigation system supervisory software...
This past week we've made a couple trips back up toward Ant Flats (past Hardware Ranch), we rather spectacularly good wildlife viewing. On the first of those trips it was early evening on an overcast day, and we saw an amazing variety of birds near Miller's Ranch. The species I remember include Bullock's orioles, lazuli buntings, yellow warblers, Sandhill cranes, cedar waxwings, a lark (but not a meadowlark), a water bird we don't know walking around on duckweed, a beautiful tiny hawk (falcon-like), and meadowlarks (a pair with a juvenile). We also saw a doe with a fawn (still spotted). The next trip was also in the early evening but on a clear day. We saw very few birds – but we did see three banded kingfishers sitting together in a dead tree, completely ignoring us. Generally we see kingfishers as solitary examples, and they're very skittish of us. This was weird! The best part of that second day, though, was the deer. We saw about a dozen does with fawns, including six or seven sets of twins. All of these fawns were roughly the same size (and therefore age), all still spotted, but old enough to graze. We also spotted a chipmunk (they're rare here, as are all the members of the squirrel family) and a muskrat swimming.
As I write this, it's late morning, and I'm about to jump back into the irrigation system supervisory software...
Thursday, July 27, 2017
Paradise ponders: coding, service, leaks, rain, and kittens edition...
Paradise ponders: coding, service, leaks, rain, and kittens edition... We had something like a half inch of rain yesterday morning. Naturally, this was not in the forecast at all! All the exposed soil in my yard (roughly an acre and a half of it right now) promptly turned into a gooey, sloppy mess – completely stopping all work on the sprinkler system. Dang it! Good for the farmers, though...
The contractors who are going to (I hope!) fix all the leaks in our “filling station” will be here today. This will be the third attempt to put it all together sans leaks. They're going to try a new thread sealant this time, one that has a reputation for being leak-proof. We shall see...
Our friend Michelle H. lives a mile or so south of us. She had a problem with a skunk that was eating the food they put out for their animals, so they put out a trap for it. They caught something – but it wasn't a skunk. They got a little feral kitten, perhaps 8 weeks old. Her son A.J. (the hooded fellow in the photo at right) is a real animal lover. He donned a thick coat and a pair of leather gloves and went right to work taming down the kitten. Two days later (this morning), we hear that the kitten is well on its way to becoming a household pet. :)
I spent a few hours yesterday actually writing some code. It's been so long since I've done this in earnest that it actually feels rather foreign. I have a project that's on a sort of deadline: the supervisory computer I mentioned yesterday for my irrigation system. Yesterday morning I realized that I could actually write large portions of this, and even test it, on my laptop. All I need is some code that simulates the specialized hardware (pressure sensors, relay output, etc.), and that's pretty darned easy. So I started working on it, beginning with some code to use the Hydrawise API for their cloud-based interface to my irrigation controller. Inside of a half hour, I had bits of it working. It's really kind of amazing how easy the Internet has made things like this!
The contractors who are going to (I hope!) fix all the leaks in our “filling station” will be here today. This will be the third attempt to put it all together sans leaks. They're going to try a new thread sealant this time, one that has a reputation for being leak-proof. We shall see...
Our friend Michelle H. lives a mile or so south of us. She had a problem with a skunk that was eating the food they put out for their animals, so they put out a trap for it. They caught something – but it wasn't a skunk. They got a little feral kitten, perhaps 8 weeks old. Her son A.J. (the hooded fellow in the photo at right) is a real animal lover. He donned a thick coat and a pair of leather gloves and went right to work taming down the kitten. Two days later (this morning), we hear that the kitten is well on its way to becoming a household pet. :)
I spent a few hours yesterday actually writing some code. It's been so long since I've done this in earnest that it actually feels rather foreign. I have a project that's on a sort of deadline: the supervisory computer I mentioned yesterday for my irrigation system. Yesterday morning I realized that I could actually write large portions of this, and even test it, on my laptop. All I need is some code that simulates the specialized hardware (pressure sensors, relay output, etc.), and that's pretty darned easy. So I started working on it, beginning with some code to use the Hydrawise API for their cloud-based interface to my irrigation controller. Inside of a half hour, I had bits of it working. It's really kind of amazing how easy the Internet has made things like this!
Wednesday, July 26, 2017
Paradise ponders: beautiful sunrise edition...
Paradise ponders: beautiful sunrise edition... I woke up at 5 am this morning, had a cup of tea, fed the (happy and excited!) dogs, then headed out around 6:15 to help my friend Tim move his hand line. The sunrise at right greeted me – so beautiful! The silhouetted mountains are the Wasatches to our east. There were orange-painted clouds here and there in all directions, but the best were directly to our east. Shortly after I took this photo, we were completely socked in and it started raining.
I'm still waiting on some parts so that I can finish plumbing the irrigation shed. This morning I've started on the next step, though, and this one is rather directly up my alley: adding a computer control. There are already two computers out there: one in the irrigation controller (the fancy timer that controls the zone valves) and one in the variable frequency pump controller. I'm adding a third “supervisor” computer whose main purposes are to turn the pump on and off, and to monitor the filters so that it can let me know when they need cleaning. This supervisory computer will be a Raspberry Pi 3, with inputs from four pressure sensors in the same lines as the physical pressure gauges, an input sensing when the irrigation controller is running, and an output to turn the pump on and off. It will also have temperature, humidity, and barometric pressure sensors, and it will be connected to our WiFi network so that it can send me texts when the filters need cleaning, or if something goes wrong. We'll also be able to monitor the irrigation system through a tiny web site.
I'm still waiting on some parts so that I can finish plumbing the irrigation shed. This morning I've started on the next step, though, and this one is rather directly up my alley: adding a computer control. There are already two computers out there: one in the irrigation controller (the fancy timer that controls the zone valves) and one in the variable frequency pump controller. I'm adding a third “supervisor” computer whose main purposes are to turn the pump on and off, and to monitor the filters so that it can let me know when they need cleaning. This supervisory computer will be a Raspberry Pi 3, with inputs from four pressure sensors in the same lines as the physical pressure gauges, an input sensing when the irrigation controller is running, and an output to turn the pump on and off. It will also have temperature, humidity, and barometric pressure sensors, and it will be connected to our WiFi network so that it can send me texts when the filters need cleaning, or if something goes wrong. We'll also be able to monitor the irrigation system through a tiny web site.
Tuesday, July 25, 2017
Paradise ponders: mysterious fuses, fishy conduit, and lobster roll edition...
Paradise ponders: mysterious fuses, fishy conduit, and lobster roll edition... Yesterday I installed about 20' of 1/2" PVC conduit between the junction box where the irrigation wires come into my cedar shed and the power sub-panel on the other side. In addition to the 20' of conduit, there were four 90° “sweeps” (elbows with a roughly 6" radius). Once the conduit was installed, I needed to pull the cable through. The first step in that operation was to push the “fish” through – and that meant using my new fish, purchased recently to replace my old and dying one. My old one was of a type I've used for 30 years or so: a dozen 3' long fiberglass rods that can be screwed together to make a rod up to 36' long. Those rods are reasonably flexible, and can be pushed through a conduit fairly easily. My new fish is quite different. It's 100' of plastic “wire” that's fairly stiff, bends easily over a small radius (as little as 2"), and is very slippery. I was very interested to see how well this worked compared with my old fish. Answer: it works very well indeed! I had that fish pushed through 20' of conduit with four 90° bends in about 60 seconds. In the first photo below, you can see the bright green fish poked into the conduit in the lower right of the electrical sub-panel. The second photo shows the other end, in the junction box, and taped to the end of the wire I was ready to pull through the conduit. Pulling the cable was a piece of cake – another 60 seconds or so. The hardest part turned out to be fastening the wire to the fish!
In the second photo above you can also see the 13 red wires for the irrigation zone valves, and the two ground wires (7 zones one one, and 6 on the other, for reasons I don't really understand). The zone valves draw 220 ma when they're turned on, and only one at a time is ever on. Those wires are 14 gauge solid copper. The furthest valve is at the end of 720 feet of wire, so the voltage drop is about 0.8 vac from the nominal 24 vac supply – well within the operating range of those valves (they're good down to 20 vac). The photo at right shows those wires as they connect into the irrigation system controller. When we've finished the back yard irrigation system, every last one of those 24 zones will be connected...
My last blog post told how I wired around the fuse that blew in my brother Scott's air conditioning system. That post got a comment from someone who sounds authoritative, basically advising me to get that fuse wired back in and replaced. Yesterday I did that, buying some fuses at Home Depot and undoing the bypass I had made the day before. I still don't know why both a fuse and a circuit breaker are needed, though. Maybe someone can explain that to me...
We went grocery shopping at Macey's yesterday, and they had laid out about 100 frozen Maine lobster tails. The frozen tails aren't quite as good as the live lobsters, but they're relatively inexpensive ($5 for an 8 ounce tail) and still darned good. So we bought four of them. When we got home, I plopped them in some cold water for about 15 minutes to thaw them, then boiled them for 4 minutes (photo at left). I chilled them in ice water for 10 minutes, then picked out the meat, chopped it up, added some mayonnaise, lemon juice, and finely chopped green onions, and voila “dash” we had the hard part of a lobster roll. Real buns for lobster rolls are unobtainable out here, but they had something that substituted quite nicely: a flat loaf of potato ciabatta bread. I cut that into roughly 1" wide pieces, then made a cut partway through the middle of each – the bread was very nice, and it made a perfectly serviceable lobster roll. Then, of course, we shoved them into our faces just as fast as we could swallow! :) We had some wonderful fresh sweet corn on the cob as our accompaniment. Yummy, that was!
Later in the afternoon we re-watched one of our favorite movies: The Shawshank Redemption. It's probably been five or six years since we last saw it, so many of the details we'd forgotten. Also, as usual, we picked up on more little details this time through. That movie has so many shocking emotional lows that I'm very glad it ends on a high and hopeful note. That movie was (mostly) filmed in an old reformatory in Mansfield, in north central Ohio. I only know this because in 2008 I went on a business trip to Mansfield, and my hosts there invited me to go tour it. Tourism to the reformatory and the oak tree made famous in the film are quite a big business for Mansfield...
In the second photo above you can also see the 13 red wires for the irrigation zone valves, and the two ground wires (7 zones one one, and 6 on the other, for reasons I don't really understand). The zone valves draw 220 ma when they're turned on, and only one at a time is ever on. Those wires are 14 gauge solid copper. The furthest valve is at the end of 720 feet of wire, so the voltage drop is about 0.8 vac from the nominal 24 vac supply – well within the operating range of those valves (they're good down to 20 vac). The photo at right shows those wires as they connect into the irrigation system controller. When we've finished the back yard irrigation system, every last one of those 24 zones will be connected...
My last blog post told how I wired around the fuse that blew in my brother Scott's air conditioning system. That post got a comment from someone who sounds authoritative, basically advising me to get that fuse wired back in and replaced. Yesterday I did that, buying some fuses at Home Depot and undoing the bypass I had made the day before. I still don't know why both a fuse and a circuit breaker are needed, though. Maybe someone can explain that to me...
We went grocery shopping at Macey's yesterday, and they had laid out about 100 frozen Maine lobster tails. The frozen tails aren't quite as good as the live lobsters, but they're relatively inexpensive ($5 for an 8 ounce tail) and still darned good. So we bought four of them. When we got home, I plopped them in some cold water for about 15 minutes to thaw them, then boiled them for 4 minutes (photo at left). I chilled them in ice water for 10 minutes, then picked out the meat, chopped it up, added some mayonnaise, lemon juice, and finely chopped green onions, and voila “dash” we had the hard part of a lobster roll. Real buns for lobster rolls are unobtainable out here, but they had something that substituted quite nicely: a flat loaf of potato ciabatta bread. I cut that into roughly 1" wide pieces, then made a cut partway through the middle of each – the bread was very nice, and it made a perfectly serviceable lobster roll. Then, of course, we shoved them into our faces just as fast as we could swallow! :) We had some wonderful fresh sweet corn on the cob as our accompaniment. Yummy, that was!
Later in the afternoon we re-watched one of our favorite movies: The Shawshank Redemption. It's probably been five or six years since we last saw it, so many of the details we'd forgotten. Also, as usual, we picked up on more little details this time through. That movie has so many shocking emotional lows that I'm very glad it ends on a high and hopeful note. That movie was (mostly) filmed in an old reformatory in Mansfield, in north central Ohio. I only know this because in 2008 I went on a business trip to Mansfield, and my hosts there invited me to go tour it. Tourism to the reformatory and the oak tree made famous in the film are quite a big business for Mansfield...
Sunday, July 23, 2017
Paradise ponders: fuses, filling stations, and irrigation systems edition...
Paradise ponders: fuses, filling stations, and irrigation systems edition... This morning my brother Scott (who lives about 20 miles from me) emailed me to say that his Nest thermostat had died. This time of year that means no air conditioning. Scott told me it was no problem at all, but then he'd say that unless his death from heat stroke was imminent. So I gathered up my electrical meter and a spare Nest and headed up there. It took about ten minutes to determine that the problem was caused by a blown fuse in the furnace (which is where the 24VAC power for the Nest comes from). I'm not sure why there's a fuse in the first place, given that the furnace is on its own dedicated circuit breaker. So I just bypassed the fuse, and everything started working again. The funniest part of this for me is that the Nest would have been complaining about having no power for the last week or so, every time Scott walked by it. He never noticed it! :)
While I was up there, I got a closeup look at the gigantic driftwood horse he's building (photos below). It's really quite beautiful, and it's almost done – all that's left to do is the tail and the hooves. Scott figures that the thing weighs 600 pounds or so, which means that there are some challenges moving it around. Another challenge is that it's too tall to fit through the garage door!
I also got to see the Russian Olive tree that Scott trimmed up last fall. His intention was to make it evocative of clouds. I don't think I'd have ever figured that out, but it's nonetheless very attractive, and also very different than the natural shape of a Russian Olive. He's got a sign up advertising that he did it, but unfortunately the tree is located on a relatively lightly traveled back road – most potential customers for something like this will never see it...
The past couple of days have seen substantial progress around our place. Randy and his sidekick finished putting the rock veneer on our filling station, and it's just as pretty as can be (at right). Not bad for a gas station, hey what? I now have to install the lock and the closing mechanism, but the necessary bolts and holes for that are already in the door so this should be almost trivial. I'm hoping to do that tomorrow morning. That means the only thing left on the filling station is to get the leaks fixed. That was supposed to have happened this past week, but did not – I'll hold out hope for next week...
We also hit a big milestone on our irrigation system: a big part of it is now up and running! There are 13 zones (with about 120 sprinklers) in the part of our yard that's south of our paved driveway, and all but one of them are now completely functional (the one exception is a bad solenoid controlled valve, which will be fixed on Tuesday). The past few days saw a lot of electrical work, to run the wires for all those valves under our bridge and over to the new cedar shed. The fellow running the wires had cut them all too short (by about 15'), so on Friday I spliced 20' extensions onto all of them, using soldered hook connections, padded with electrical tape, then covered with heat shrink. That was a bit tedious, but not really very hard (not counting the effort to recover the tools and parts that my dogs kept stealing). Yesterday morning I routed the wires along the inside of the shed, and connected them to the irrigation controller. Then I used the web interface to set up a schedule (see screenshot at left) and away we went! I've run the entire set of 12 functional zones twice now, and we'll keep doing daily that for a week or so to help settle the ground. I've been wondering whether I'd live long enough to see this irrigation system actually working, so it really feels good to see some of it actually going...
While I was up there, I got a closeup look at the gigantic driftwood horse he's building (photos below). It's really quite beautiful, and it's almost done – all that's left to do is the tail and the hooves. Scott figures that the thing weighs 600 pounds or so, which means that there are some challenges moving it around. Another challenge is that it's too tall to fit through the garage door!
I also got to see the Russian Olive tree that Scott trimmed up last fall. His intention was to make it evocative of clouds. I don't think I'd have ever figured that out, but it's nonetheless very attractive, and also very different than the natural shape of a Russian Olive. He's got a sign up advertising that he did it, but unfortunately the tree is located on a relatively lightly traveled back road – most potential customers for something like this will never see it...
The past couple of days have seen substantial progress around our place. Randy and his sidekick finished putting the rock veneer on our filling station, and it's just as pretty as can be (at right). Not bad for a gas station, hey what? I now have to install the lock and the closing mechanism, but the necessary bolts and holes for that are already in the door so this should be almost trivial. I'm hoping to do that tomorrow morning. That means the only thing left on the filling station is to get the leaks fixed. That was supposed to have happened this past week, but did not – I'll hold out hope for next week...
We also hit a big milestone on our irrigation system: a big part of it is now up and running! There are 13 zones (with about 120 sprinklers) in the part of our yard that's south of our paved driveway, and all but one of them are now completely functional (the one exception is a bad solenoid controlled valve, which will be fixed on Tuesday). The past few days saw a lot of electrical work, to run the wires for all those valves under our bridge and over to the new cedar shed. The fellow running the wires had cut them all too short (by about 15'), so on Friday I spliced 20' extensions onto all of them, using soldered hook connections, padded with electrical tape, then covered with heat shrink. That was a bit tedious, but not really very hard (not counting the effort to recover the tools and parts that my dogs kept stealing). Yesterday morning I routed the wires along the inside of the shed, and connected them to the irrigation controller. Then I used the web interface to set up a schedule (see screenshot at left) and away we went! I've run the entire set of 12 functional zones twice now, and we'll keep doing daily that for a week or so to help settle the ground. I've been wondering whether I'd live long enough to see this irrigation system actually working, so it really feels good to see some of it actually going...
Friday, July 21, 2017
A shocking encounter...
A shocking encounter... I had my cage well and truly rattled this morning. As I was walking out of our local UPS storefront (where I had just dropped off a couple packages for shipment), a person came walking into the UPS store. That person looked like exactly like my dad did back in the early '90s. This wasn't just a passing resemblance: this fellow looked so much like my dad did that my gut reaction was that it was him. Since my dad died a few years ago, a much older man, this made no rational sense at all – but recognition is not a rational process.
I stopped dead in my tracks. I'm not sure what my face looked like, but the other fellow was concerned enough that he stopped to ask me if I was all right. That produced the second shock: he even sounded like my dad. Not exactly right, in this case, but quite close. The biggest disjoint was that he had a slight northern New Jersey accent, which my dad certainly did not.
The short version of our ensuing conversation is this: he's distantly related to me, on my father's side of the family. His last name is not the same as mine – but it's close, spelled as my ancestors did. His first name (Henry) is the same as that of the oldest American ancestor I have, an ancestor we share and who he is named after. He hails from East Orange, New Jersey, and is on his way back home after visiting family in Bend, Oregon. I don't have his permission to use his last name, so I won't do that yet. We exchanged contact information, and he's promised to correspond with me once he gets back home next week.
I'm still reeling from the few moments when I thought I saw my dad, returned somehow from the '90s...
I stopped dead in my tracks. I'm not sure what my face looked like, but the other fellow was concerned enough that he stopped to ask me if I was all right. That produced the second shock: he even sounded like my dad. Not exactly right, in this case, but quite close. The biggest disjoint was that he had a slight northern New Jersey accent, which my dad certainly did not.
The short version of our ensuing conversation is this: he's distantly related to me, on my father's side of the family. His last name is not the same as mine – but it's close, spelled as my ancestors did. His first name (Henry) is the same as that of the oldest American ancestor I have, an ancestor we share and who he is named after. He hails from East Orange, New Jersey, and is on his way back home after visiting family in Bend, Oregon. I don't have his permission to use his last name, so I won't do that yet. We exchanged contact information, and he's promised to correspond with me once he gets back home next week.
I'm still reeling from the few moments when I thought I saw my dad, returned somehow from the '90s...
Labels:
Pater
Thursday, July 20, 2017
Paradise ponders: rodeo and project progress edition...
Paradise ponders: rodeo and project progress edition... Debbie and I are headed down to Ogden this evening, to go to the rodeo that's part of Ogden's Pioneer Day celebration. If you're unfamiliar with Pioneer Day, it's an annual celebration of July 24, 1847 when Brigham Young and the first group of his Mormon followers finally made it to the Great Salt Lake Valley. It's a state holiday in Utah, and is also celebrated in several surrounding states, mainly in predominantly Mormon communities. This particular rodeo is part of the professional rodeo circuit, so some of the best rodeo competitors in the world will be there.
Randy B., his partner Jeffrey, and two of Randy's grandsons showed up bright and early this morning, as promised. Some photos of their progress are below. The first order of business was to mount our shiny red door, which they did with a level of competence far in excess of anything I could have mustered on my own. It is a great pleasure for me simply to watch them work – Randy and Jeffrey have worked together for a good number of years, and they complement each other very well. Jeffrey is the guy on the left in the first photo; Randy is in the dark blue T-shirt in the second. In the third photo you can see the door shortly after they had it installed. The last photo shows Carl (Randy's border collie) and the first foot or so of rock veneer installed. It's going to be beautiful when they're finished!
Mark T. and the sprinkler guys also made great progress today. They're still working as I write this, and will be for another 6 hours or so. By the time they leave tonight, I'm expecting that they'll have all the valve wires plus the 110 VAC for my flagpole lights all run under our bridge. That means tomorrow we should have the 13 zones on the south wired up to the sprinkler controller and we can start watering everything south of our driveway. Woo hoo!
Randy B., his partner Jeffrey, and two of Randy's grandsons showed up bright and early this morning, as promised. Some photos of their progress are below. The first order of business was to mount our shiny red door, which they did with a level of competence far in excess of anything I could have mustered on my own. It is a great pleasure for me simply to watch them work – Randy and Jeffrey have worked together for a good number of years, and they complement each other very well. Jeffrey is the guy on the left in the first photo; Randy is in the dark blue T-shirt in the second. In the third photo you can see the door shortly after they had it installed. The last photo shows Carl (Randy's border collie) and the first foot or so of rock veneer installed. It's going to be beautiful when they're finished!
Mark T. and the sprinkler guys also made great progress today. They're still working as I write this, and will be for another 6 hours or so. By the time they leave tonight, I'm expecting that they'll have all the valve wires plus the 110 VAC for my flagpole lights all run under our bridge. That means tomorrow we should have the 13 zones on the south wired up to the sprinkler controller and we can start watering everything south of our driveway. Woo hoo!
Paradise ponders: rock, ignorant Americans, leaky tires, and plumbing errors edition...
Paradise ponders: rock, ignorant Americans, leaky tires, and plumbing errors edition... Yesterday evening I got a call from Randy B., the mason who built our fireplace two years ago. He's got a couple of days available, starting tomorrow, and he wants to get our filling station done. Yay! He should be here this morning at 7 am, so he and his helper can work in the (relatively) cool morning air...
The great sprinkler project continues apace. There are now 13 complete zones covering the entire area south of our paved driveway. Complete, that is, except for the wires leading to the control valves for those 13 zones. We're running those wires through a conduit installed under the bridge over the irrigation canal running down the eastern edge of our property. That sounds easy, but it's not – the conduit has to traverse, underground, about 15 feet of abutment on both sides of the bridge. The trench for that conduit has to be dug amidst a wild rose thicket. The sprinkler guys lopped off all the rose canes above the chosen path – but the rose roots are incredibly thick in there. Digging that will be a major challenge. I'm glad I don't have to do it! Once the conduit is in place, I'll be helping the sprinkler guys pulling the wires through it. That's something they're not very familiar with, nor do they have the right tools...
My friend (and former colleague) Simon M. passed along this article, I'm sure just to tweak me. :) Among other things, it discloses that 1 in 4 Americans surveyed believe the sun revolves around the Earth, not the other way around. I'm actually a little surprised at this – I'd have expected that to be more like 1 in 3. It reminds me, though, of an article I read a few months ago on a tangentially related topic: technological ignorance. The focus of this article was a single survey question made at widely separated points in time. The first survey was in 1940, and it asked men (no women) in their 20s how many actually did a set of routine maintenance on their cars, and how many could do them if they didn't have the money to pay someone. The answers were 81% and 96%, respectively. The same survey, of (again) only young men, taken in early 2017 gave much different answers: 7% and 14%. The 2017 survey also asked men who answered “no” to briefly describe why they couldn't do the routine maintenance – and the dominant answer was some variant of “Because I have no idea how cars work.” I haven't seen any similar survey for computers, but it's trivial to observe that the vast majority of computer users have utterly no idea how their computer actually works. My dad remarked in several of our conversations that he and my grandfather (his father) knew how everything on the farm worked, and could maintain and repair it. These days it's common for people to own things whose workings are completely mysterious. In the space of one man's life we've gone from a norm of understanding one's belongings to not understanding them. I wonder how far that trend can go?
Yesterday I took my Model X in to the good folks at Hyrum Tire to get a slow leak in my left rear tire fixed. I'd made an appointment so I could wait while they fixed it. However, when they actually saw my car, they realized they had a problem: their tools only work with rims up to 21" in diameter, and I've got 22" rims on the Model X. Dang! So they sent me up to Logan, to the Les Schwab location there. I drove in, walked up to the counter, and in under two minutes one of their people went to work on my car. They had me drive into one of their service bays, and in short order they had the wheel off the car. That left the axle and disc brake visible, and several people there noticed something odd about the disc brake: there are two calipers on it! The red one is the main brake; the gray one is only for the parking brake. Ezra, the tech helping me, found my tire's problem in seconds: a 2" deck screw right through the exact center of the tread – the easiest possible repair. When he got the tire off the rim, he discovered something he'd only seen once before: a foam ring around the inside of the tire, opposite the tread. That foam is there to reduce the tire noise; he's seen it only in a relatively quiet car (a high-end Mercedes) where the tire noise becomes dominant. In about ten minutes the repair was all done, and the wheel mounted back on the car. We had to look up the wheel nut torque (129 ft/lbs) on the web, as his chart didn't have Tesla on it. I went to pay up when he was finished, only to be told that the repair was free. All they asked was that when it was time to buy tires, I'd give them a chance for my business. Nice!
Yesterday morning I discovered that I'd made an error in my plumbing work for the irrigation pump. Fixing it correctly requires some new parts – including two that aren't available locally. I put both on order, but they won't get here for a week or so. Dang it!
The great sprinkler project continues apace. There are now 13 complete zones covering the entire area south of our paved driveway. Complete, that is, except for the wires leading to the control valves for those 13 zones. We're running those wires through a conduit installed under the bridge over the irrigation canal running down the eastern edge of our property. That sounds easy, but it's not – the conduit has to traverse, underground, about 15 feet of abutment on both sides of the bridge. The trench for that conduit has to be dug amidst a wild rose thicket. The sprinkler guys lopped off all the rose canes above the chosen path – but the rose roots are incredibly thick in there. Digging that will be a major challenge. I'm glad I don't have to do it! Once the conduit is in place, I'll be helping the sprinkler guys pulling the wires through it. That's something they're not very familiar with, nor do they have the right tools...
My friend (and former colleague) Simon M. passed along this article, I'm sure just to tweak me. :) Among other things, it discloses that 1 in 4 Americans surveyed believe the sun revolves around the Earth, not the other way around. I'm actually a little surprised at this – I'd have expected that to be more like 1 in 3. It reminds me, though, of an article I read a few months ago on a tangentially related topic: technological ignorance. The focus of this article was a single survey question made at widely separated points in time. The first survey was in 1940, and it asked men (no women) in their 20s how many actually did a set of routine maintenance on their cars, and how many could do them if they didn't have the money to pay someone. The answers were 81% and 96%, respectively. The same survey, of (again) only young men, taken in early 2017 gave much different answers: 7% and 14%. The 2017 survey also asked men who answered “no” to briefly describe why they couldn't do the routine maintenance – and the dominant answer was some variant of “Because I have no idea how cars work.” I haven't seen any similar survey for computers, but it's trivial to observe that the vast majority of computer users have utterly no idea how their computer actually works. My dad remarked in several of our conversations that he and my grandfather (his father) knew how everything on the farm worked, and could maintain and repair it. These days it's common for people to own things whose workings are completely mysterious. In the space of one man's life we've gone from a norm of understanding one's belongings to not understanding them. I wonder how far that trend can go?
Yesterday I took my Model X in to the good folks at Hyrum Tire to get a slow leak in my left rear tire fixed. I'd made an appointment so I could wait while they fixed it. However, when they actually saw my car, they realized they had a problem: their tools only work with rims up to 21" in diameter, and I've got 22" rims on the Model X. Dang! So they sent me up to Logan, to the Les Schwab location there. I drove in, walked up to the counter, and in under two minutes one of their people went to work on my car. They had me drive into one of their service bays, and in short order they had the wheel off the car. That left the axle and disc brake visible, and several people there noticed something odd about the disc brake: there are two calipers on it! The red one is the main brake; the gray one is only for the parking brake. Ezra, the tech helping me, found my tire's problem in seconds: a 2" deck screw right through the exact center of the tread – the easiest possible repair. When he got the tire off the rim, he discovered something he'd only seen once before: a foam ring around the inside of the tire, opposite the tread. That foam is there to reduce the tire noise; he's seen it only in a relatively quiet car (a high-end Mercedes) where the tire noise becomes dominant. In about ten minutes the repair was all done, and the wheel mounted back on the car. We had to look up the wheel nut torque (129 ft/lbs) on the web, as his chart didn't have Tesla on it. I went to pay up when he was finished, only to be told that the repair was free. All they asked was that when it was time to buy tires, I'd give them a chance for my business. Nice!
Yesterday morning I discovered that I'd made an error in my plumbing work for the irrigation pump. Fixing it correctly requires some new parts – including two that aren't available locally. I put both on order, but they won't get here for a week or so. Dang it!
Tuesday, July 18, 2017
Disgusted, I am...
Disgusted, I am... So the Republicans have a majority in both the House and the Senate, the President is a Republican. During the 2016, both Trump and the majority of Republican candidates for both the House and the Senate loudly and proudly proclaimed their goal of “repealing and replacing” ObamaCare. If there was anything the Republicans stood for, eliminating ObamaCare was it. Naturally, they have completely failed. The House passed some tweaks to ObamaCare, pitched (falsely) as repeal and replace – and then fell all over themselves distancing themselves from the monstrosity they passed, begging the Senate to “amend” it with something better. The Senate tried, three times, with different bills that tweaked ObamaCare less and less. Last night, the Senate gave up on that idea, and instead decided to to a straight repeal. Already this morning that idea is also dead, as enough Republican Senators have come out against repeal to ensure its defeat.
Of all the issues at play in the last election, this is the one with the most direct impact on Debbie and I. Last year we spent over $22,000 on ObamaCare premiums, and a further $14,000 in out-of-pocket expenses. This year the totals will be even higher, unfortunately (mainly because of mainstream but expensive osteoporosis drugs that are not covered by ObamaCare policies). Repeal of ObamaCare would have meant the return of old-fashioned major medical policies, which were they available would cut our healthcare costs by about 60% (this is based on information from Blue Cross, a major supporter of ObamaCare).
As of this September, I'll be enrolled in MediCare, and (theoretically, anyway) insulated from the ongoing disaster that is ObamaCare. Debbie still has three years to go on ObamaCare, and already we're being warned to expect yet another 30% or 35% increase in premiums. At this rate, by the time she can enroll in MediCare, her ObamaCare premiums will be even more than we pay for both of us now. Worse, it seems all-too-likely that we'll be hit with income tax increases as the ObamaCare exchanges continue failing because of insurer withdrawal (because they're losing money). The Democrats in Congress are already floating the idea, and I won't be a bit surprised if enough Republicans sign up to that idea to make it politically doable. There's also talk of taking higher income people out of MediCare. Either way, we'd be back in the super-high premium insurance boat again.
Anyway, I am utterly disgusted with our federal government's overwhelming incompetence. The more I learn about how it actually works, and how self-interested the typical politician is, the more disgusted I get. I can easily see how the most informed people would be the ones most likely to support revolution, as a clean slate seems vastly easier than reforming the bureaucratic state. Hell, after reading up on the bureaucratic heaven that is the Veteran's Administration (where even murders can't be easily fired), even I feel the urge to revolt! I still hold some hope that my “big three” reforms could be enacted (term limits, abolishing civil service job protections, enacting efficiency incentives) – but in twenty years of hoping I've seen exactly zero progress on that front. Sheesh...
Of all the issues at play in the last election, this is the one with the most direct impact on Debbie and I. Last year we spent over $22,000 on ObamaCare premiums, and a further $14,000 in out-of-pocket expenses. This year the totals will be even higher, unfortunately (mainly because of mainstream but expensive osteoporosis drugs that are not covered by ObamaCare policies). Repeal of ObamaCare would have meant the return of old-fashioned major medical policies, which were they available would cut our healthcare costs by about 60% (this is based on information from Blue Cross, a major supporter of ObamaCare).
As of this September, I'll be enrolled in MediCare, and (theoretically, anyway) insulated from the ongoing disaster that is ObamaCare. Debbie still has three years to go on ObamaCare, and already we're being warned to expect yet another 30% or 35% increase in premiums. At this rate, by the time she can enroll in MediCare, her ObamaCare premiums will be even more than we pay for both of us now. Worse, it seems all-too-likely that we'll be hit with income tax increases as the ObamaCare exchanges continue failing because of insurer withdrawal (because they're losing money). The Democrats in Congress are already floating the idea, and I won't be a bit surprised if enough Republicans sign up to that idea to make it politically doable. There's also talk of taking higher income people out of MediCare. Either way, we'd be back in the super-high premium insurance boat again.
Anyway, I am utterly disgusted with our federal government's overwhelming incompetence. The more I learn about how it actually works, and how self-interested the typical politician is, the more disgusted I get. I can easily see how the most informed people would be the ones most likely to support revolution, as a clean slate seems vastly easier than reforming the bureaucratic state. Hell, after reading up on the bureaucratic heaven that is the Veteran's Administration (where even murders can't be easily fired), even I feel the urge to revolt! I still hold some hope that my “big three” reforms could be enacted (term limits, abolishing civil service job protections, enacting efficiency incentives) – but in twenty years of hoping I've seen exactly zero progress on that front. Sheesh...
Paradise ponders: missing parts, hospice, and unexpected rain edition...
Paradise ponders: missing parts, hospice, and unexpected rain edition... I spent most of yesterday working, again, on the plumbing for my new irrigation pump. The biggest piece of progress was building a mount (of wood) for the four pressure gauges the system needs, and running some of the tubing for those gauges. Further progress was blocked because of some missing parts. These are things I ordered from Amazon, but which are taking longer to get here than expected. Some are due in today, the rest tomorrow. I hope.
John H. wrote, asking why on earth I needed four pressure gauges when everyone one else makes do with just one. Fair question. :) The four gauges, in order of the direction of water flow, are as follows:
I got a letter yesterday from the hospice that took care of my mom just before she died last year. Like the six or seven other letters I've received from them, it was a particularly warm and friendly message from the nurse who took such great care of mom. This is the last letter I'll be getting from them, I discovered as I read it – they stay in touch for a year, offering any help we might need. I've talked with the nurse several times over the past year, just friendly conversations and catching up with each other. I called her again this morning, to say thanks one last time for all her care. I discovered that she's leaving the local hospice, to go to a much more remote part of Utah to open up a new hospice – where she will be the head of the nursing staff. She's very excited about this – just 29 years old and taking on quite a responsibility. Her husband is a diesel mechanic, and found a great job at a big-rig service facility. It was a lot of fun to hear her so excited about this new adventure for the two of them...
My friend and neighbor Tim D. cut his alfalfa a few days ago, and yesterday morning he turned it all over with his tractor rake. Not 15 minutes after he finished, we got rain – on a day forecast to be hot and clear! We ended up getting two tenths of an inch over a couple hours, enough to thoroughly wet his hay. But then just three hours later, it had been actually hot and clear, and you'd never know that hay had ever been wet. This afternoon they'll be baling those fields, and hopefully today is hot and clear to get that hay thoroughly dried out...
John H. wrote, asking why on earth I needed four pressure gauges when everyone one else makes do with just one. Fair question. :) The four gauges, in order of the direction of water flow, are as follows:
- Supply pressure. This measures the pressure of the water on the input side of the pump. Ordinarily this should be at around 60psi, in which case the pump will be off and the water will flow around it. When the supply pressure drops below 60psi (as it does with alarming regularity), then the pump will kick on and all the irrigation water will flow through the pump.
- After-pump pressure. This measures the pressure of the water on the output side of the pump. If the supply pressure is over 60psi, this will be the same (or nearly so) as the supply pressure. However, when the supply pressure drops below 60psi, the pump will kick on and the pressure should be regulated at between 60 and 70psi.
- Between-filters pressure. This measures the pressure of the water on the output of the coarse filter, which is also the input to the fine filter. The difference between this and the after-pump pressure increases as the filter gets more clogged. When this difference gets over about 8psi, then it's time to clean the filter.
- After-filters pressure. This measures the pressure of the water in the line that goes directly to sprinklers, which is also the pressure of the water just after the fine filter. The difference between this and the between-filters pressure increases as the filter gets more clogged. When this difference gets over about 8psi, then it's time to clean the filter.
I got a letter yesterday from the hospice that took care of my mom just before she died last year. Like the six or seven other letters I've received from them, it was a particularly warm and friendly message from the nurse who took such great care of mom. This is the last letter I'll be getting from them, I discovered as I read it – they stay in touch for a year, offering any help we might need. I've talked with the nurse several times over the past year, just friendly conversations and catching up with each other. I called her again this morning, to say thanks one last time for all her care. I discovered that she's leaving the local hospice, to go to a much more remote part of Utah to open up a new hospice – where she will be the head of the nursing staff. She's very excited about this – just 29 years old and taking on quite a responsibility. Her husband is a diesel mechanic, and found a great job at a big-rig service facility. It was a lot of fun to hear her so excited about this new adventure for the two of them...
My friend and neighbor Tim D. cut his alfalfa a few days ago, and yesterday morning he turned it all over with his tractor rake. Not 15 minutes after he finished, we got rain – on a day forecast to be hot and clear! We ended up getting two tenths of an inch over a couple hours, enough to thoroughly wet his hay. But then just three hours later, it had been actually hot and clear, and you'd never know that hay had ever been wet. This afternoon they'll be baling those fields, and hopefully today is hot and clear to get that hay thoroughly dried out...
Subscribe to:
Posts (Atom)







