Search within Lanny's blog:


Leave me comments so I know people are actually reading my blogs! Thanks!

Friday, July 19, 2019

Daily Battles: Everything About End-to-End Sprinkler Repair


A typical yearly routine for an American suburban family during spring time is to fix their sprinkler system. It always amazes me that the sprinkler system can't just stay functional and would always require some form of repair after each winter. Is this something the sprinkler parts manufactures conspired together to make more money from consumers while making their life miserable on a fixed schedule?

This year, I had to go through some extended effort to restore my sprinkler system back to normal. Here I share some knowledge I learned so you know what to do if this happens to you.

First, the Easy and Normal Stuff 

If all you have to do is to twist off the leaking sprinkler head, or event better, just the top part  (with the hole where water comes out) above ground, you are in luck! These parts are general very cheap at the local hardware store. The only hassles you have to go through are to locate the leak, make a trip to the store, and then replace them.

If a connecting pipe is leaking or broken, dig down around the sprinkler head so you can get to the broken part is pretty much the only extra work you have to do. Special tools (to untwist the broken part by grabbing into the plastic part in the opposite direction) might be needed.

If an underground PVC pipe is leaking, you might need to do some extra digging to expose the troubling section. Then just cut the broken section with a cable saw (so you don't have to dig a much bigger trench), then replace it with extendable PVC joints you can easily get at the local hardware store. You can glue it on, or get the more expensive twist on parts.


Next, the Sprinkler Controller

You should be able to find a sprinkler controller box somewhere in your house, most likely in your garage. This controller box lets you schedule the start time and watering duration of the various stations (zones) of your sprinkler system.

Typically, the control box is directly plugged into an outlet for power while also have a battery inside. So in case there's a power outage, you don't lose all your settings in the control box.

Turned out that the battery is a crucial part of the system, and I learned it the hard way. After hours of troubleshooting different part of my entire sprinkler system, I finally identified the problem. My controller wouldn't turn on the water stations (plus all kinds of weird stuff) even though it is plugged into a power outlet all because the 9V battery inside was low on juice. After replacing the battery, things started working again! So always check your battery as a first step of troubleshooting your sprinkler system.


Moving On to the Sprinkler Valve Box


When I tested the different stations, one station simply does not have any water coming out of the sprinkler heads. Another station would generate a lot of clicking sounds and all the sprinkler heads would shoot water straight up like a geyser periodically. After researching and consulting experts at the local HomeDepot, I found out that the problem could be related to the solenoid and diaphragms inside.

Solenoid is the black device inside the sprinkler valve box in charge of turning on and off a water station (zone). First thing to try is to take the solenoid apart and wash the diaphragm. Debris or sand in dirty diaphragm could cause the solenoid to malfunction.

I cleaned my two diaphragms for the two problematic water stations, and they remained problematic.

The next thing to try is to replace the problematic solenoid. It is important that you get the right brand of solenoid because different brands could have different sizes. I ended up buying my solenoids from a specialty store, because HomeDepot and Lowe's didn't carry the brand of solenoid I needed to replace mine.

After I replaced my two solenoids for the two problematic water stations, one started working while the other one kept shooting out periodic geysers with clicking sounds just like before. To understand things better, I swapped the two solenoids. Still, the station that got fixed remained fixed while the one shooting out geysers kept shooting out geysers. This was a good indication that the problem with the station shooting out geysers had nothing to do with the solenoid. In other words, I didn't really have to replace that one. Well! At least I fixed one bad station. That's progress.


Back to the Sprinkler Controller

In the sprinkler controller box, I found a station without any wire connected to the screw and a loose wire not connected to any station. In the valve box, I also found a wire not connected to any of my solenoids. So I connected the remaining bad water station solenoid to this wire and connected the loose wire to the extra station. After turning the station on, no clicking sound and no periodic geyser now. In fact, nothing happened.

To make sure I was not going crazy, I disconnected the solenoid from the extra station and then simply swapped wires between the two stations I worked on. As soon as I did the swap, the station that had the clicking sounds and periodic geysers started working correctly, and the station that I had fixed before now stopped working. I was completely bewildered.

Not until I consulted a friend who had much deeper knowledge about sprinkler systems did I find out that for the same sprinkler controller box, individual stations can go bad on their own. So having most stations working correctly with a controller doesn't mean all stations will work correctly. Also the wires are actually color coded, so I should make sure the wire I connect in the control box should match the color of the wire I am connecting in the valve box. No wonder I couldn't get the extra station to work, because I AM COLORBLIND!!

Now understanding things much better, I simply rewired the problematic water station wire to the extra station. And voila, water came out of sprinkler heads horizontally instead of vertically, and there's no more clicking sound. Turned out this station is a good station.

So really the problems I had was a bad control station in the control box and a bad solenoid for another station. I got unlucky because I replaced a perfectly fine solenoid. I also got real lucky because I had an extra functioning station I could swap to.


The Bonus

As I was troubleshooting the entire sprinkler system, I noticed that the water station labels and the actually wiring didn't match. I actually have a non-labeled, but wired station. Turning on this station for a quick test revealed that this is actually for a dripping system for some of my trees in the front yard. Turned out that for the five years I have lived in this house, I have never turned this station on and never watered those trees. No wonder those poor trees are getting weaker and weaker (wife mentioned about color change of these trees, but of course, I couldn't tell, because I AM COLORBLIND!).

Anyway, all the mystery have been solved. And I have another year minus two months of peace before I have to mess with sprinkler system repairs again. And now that I know much more about the system, something else that I don't know will break next time.

Hope you enjoyed reading this for whatever reason you came to my blog! 😌 At least now you are equipped with more knowledge of sprinkler system repairs, so when your sprinkler system breaks, it's probably from something I didn't write about in my blog post. 😜 Just kidding!


BTW: The easiest way to remember my blog address is http://lanny.lannyland.com

Thursday, July 18, 2019

Daily Battles: Lexus Default Display Screen and Default Settings

We bought a Lexus Hybrid a few months back, because our old car was totaled in an accident. Since then we have been fighting the various settings in the car.

Default Sensitivity for Adaptive Cruise Control

A nice feature that came with the car was called Radar Adaptive Cruise Control, which seems to be a common feature for newer cars these days. It uses the onboard radar to detect how far it is from the car in front and will automatically accelerate/decelerate while in cruise control mode to keep a safe distance from the car in front, whether that car is accelerating or decelerating. It is really a useful feature in busy traffic, so the driver doesn't have to step on gas or brake again and again just to follow traffic.

However, every time the Adaptive Cruise Control is on, the Vehicle-to-Vehicle setting is always set to Long (3 bars), and I always have to manually adjust it to Medium and then Short (1 bar). This gets super annoying if Adaptive Cruise Control is turned off because my speed is too low or because I hit the break. Then every time I re-enable cruise control, I have to manually set it to low each time.


Why do I always have to change it from Long? Because at Long, my car will keep a distance of 160 ft. (50 meters) from the car in front of me. And guess what happens if I do that in busy traffic? People behind me will hunk at me, and cars by my sides will for sure cut right in front of me, significantly increase the risk of a collision.


There seems to be a default sensitivity I can set to Short while I am parked. However, as soon as the engine starts and when I turn on cruise control, sensitivity goes right back to Long. Turned out Lexus want to make sure the default sensitivity is reset back to Long each time when cruise control is enabled for the safety of the driver, even though they also designed a UI where the driver is deceived into believing the default sensitivity setting can actually be changed.

So what is the solution? There is none! (Confirmed by experts in the dealership.) So just suck it up and re-program your brain to always hit the manual adjust button twice whenever you use cruise control.  😡

Default Display Screen for Fuel Efficiency

Another nice feature of a hybrid car is that you could be driving off battery or charging the battery while you drive. Under the Info screen, you can choose to look at a screen that shows you in real time if the car is charging the battery or running off the battery. You can also choose to look at a bar graph that shows your gas milage for the current trip in 5 minutes bins. These two screens, naturally, became our favorite screens and we really wanted to make them the default screen whenever we start the car. Well, turned out there is no way to set a default screen for the display.


What about just go back to the previous screen when the car was last turned off? Under Settings - General, there is actually this setting called Auto Screen Change. If you set it to Off, it should stay on the last screen you were on when you turned off the car.

But guess what? That works with the Media screen, the Radio screen, the Map screen, the Weather screen, but not anything under the Info screen. (Again, confirmed by experts in the dealership.)

The only thing I eventually found is that I could leave the bar graph screen on the smaller side of the split screen, and it actually stays. Guess that's just what I have to live with.

Full Screen vs Split Screen

The car comes with this nice big display screen where you can see the current configuration for climate control, audio, map, weather, text messages from your phone, and many more. Naturally, I prefer to see things in full screen, instead of a split screen where information seemed to be cluttered. Many Lexus support web sites also clearly indicated that a driver can switch between full screen mode and split screen mode at will.

But guess what? Turned out you can only switch between full screen mode and split screen mode for the following: the Initial screen (the warning message screen), the Menu screen, and the Map screen. (Confirmed by reading the 800-page owner's manual.)

Conclusion

The UI design for Lexus cars leaves a lot to be desired. Just accept that fact that life is not perfect. Some battles you just can't win.

Moving on to my next daily battle!


BTW: The easiest way to remember my blog address is http://lanny.lannyland.com

Wednesday, July 17, 2019

10 Famous Thought Experiments That Just Boggle Your Mind Part 10

Read part 9: Schrodinger's Cat

1. Brain in a Vat

Imagine a mad scientist has taken your brain from your body and placed it in a vat with life
sustaining fluid. Neurons in your brain are wired into a supercomputer which can general all the sensing signals your brain normally receives. Thus, this computer has the ability to simulate your everyday experience. If this were indeed possible, how could you ever truly prove that the world around you was real, and not just a simulation generated by a computer?

This thought experiment is called “brain in a vat” and has to be the most influential thought experiment that touches the subjects from cognitive science and philosophy to popular culture. The idea for the experiment, which was popularized by Hilary Putnam, an American philosopher, dates all the way back to the 17th century philosopher Rene Descartes. In his book Meditations on the First Philosophy, Descartes questioned whether he could ever truly prove that all his sensations were really his own, and not just an illusion caused by an “evil daemon.” Descartes accounted for this problem with his classic maxim “cogito ergo sum” (“I think therefore I am”). Unfortunately, the brain in a vat experiment complicates this argument, too, since a brain connected to electrodes could still think.





This really sounds too familiar, you say, to the movie The Matrix. Well, that film, along with several other sci-fi stories and movies, was heavily influenced by the brain in a vat thought experiment. Neo was hooked into this big simulation called The Matrix, and before he unplugged, he thought that was his real life. Then turned out Zion, the last sanctuary for human kind, is merely another layer of the matrix, another simulation.



There are really two perspectives here:

The first perspective is that from humans. 

When we humans dream, our brains can experience signals that are pure simulations generated by the brain itself. We can see, smell, touch, walk, jump, run, fall off a cliff or a tall building (this one happens pretty much to everyone), and even fly. The simulation generated by the brain is so good that we could interact with the world and the world changes accordingly, for example, when we turn in a dream, the world rotates correctly "in front of" our eyes.

Once in a dream of mine, I was able to correctly recognize that I was in a dream. Since anything is possible in a dream, I tested it. "Let there be a spear!" I commanded. And a giant spear magically appeared in my grip. Next thing I know I was there swinging the spear, showing off a beautiful staff form. Unfortunately, the dream ended shortly. To this day, I don't know why I asked for a spear when I could have anything I want in a dream. That's also why my kids now call me Shakespear from time to time.

So how do you know you are not dreaming? How do you know you are not in a simulation? There's no spinning pendulum to give you a clue like that in the movie Inception.




Humans are also very good at simulating input signals to our brains when we are awake. That's why we enjoy books, plays, and movies. We put ourselves into the characters minds, or merely become a bystander in an imaginary world. Then we experience joy, sorrow, love, and hatred from things that never truly happened in the real world.

Then there's the world of MMORPGs (Massively multiplayer online role-playing game) from text-based MUD (Multi-user Dungeon) games in the early days, to EverQuest, to World of Warcraft, to Minecraft today. Players of such games get deeply immersed into the simulated worlds and sometimes preferred the fake worlds over the real one.

The other perspective is that from Artificial Agents.

In the Matrix Trilogy, Neo had no idea that he was actually not even a real human. When a software agent has been told that the world it lives in is the real world, it is just like a brain in a vat. When Agent Smith realized that, he went all haywire!

Software agents we build today are frequently developed or trained in simulations. It is true that most simulations today are not very sophisticated (but the agents themselves don't know), but they will get better over time. And the agents we train or send to work will also get more sophisticated and more intelligent. What if one day they become so intelligent that they realize they live in a simulation? What happens then if they break out of the simulation and start feeling the real world with real sensors and interact with the real word with real actuators? Will we end up with Jane (from Ender's Game series)? Or Philip (from The Outcast)?

Now comes the ultimate question: How do you know you are a real human, not just an artificial intelligence agent?

In the movie Total Recall, Arnold Schwarzenegger couldn't really tell if his Martial adventure was just the imaginary vacation he paid for or he really was a spy. And in the movie Inception, Leonardo DiCaprio also wasn't sure if his return to home and his kids were real or merely another dream. In a sense, Arnold and Leonardo were both in the superposition of both in a dream and also in reality (why do I keep thinking of Schrödinger’s Cat?). Arnold stayed confused. But Leonardo made a choice to accept it as the reality, even though the pendulum never stopped spinning. So maybe what matters the most is whether you choose to believe the world around you is real. But then what would you do if you were presented with the blue pill and the red pill?

Man, this is deep!! My brain hurts (whether it is in a vat or not). This concludes the 10 Famous Thought Experiments That Just Boggle Your Mind series (only took 10 years). Hope you had a good read!!

Now on to my daily battles!

BTW: The easiest way to remember my blog address is http://lanny.lannyland.com

Tuesday, July 16, 2019

10 Famous Thought Experiments That Just Boggle Your Mind Part 9

Read part 8: The Chinese Room

2. Schrodinger's Cat

Schrödinger’s Cat is a paradox relating to quantum mechanics that was first proposed by the physicist Erwin Schrödinger. He hypothesized a scenario where a cat is sealed inside a box for one hour along with a radioactive element and a vial of deadly poison. There is a 50/50 chance that the radioactive element will decay over the course of the hour. If it does, then a hammer connected to a Geiger counter will trigger, break the vial, release the poison, and kill the cat. Since there is an equal chance that this will or will not happen, Schrödinger argued that before the box is opened the cat is simultaneously both alive and dead.

Schrödinger meant to use this thought experiment to demonstrate the absurdity of Bohr's Copenhagen interpretation of quantum mechanics, where a quantum system remains in superposition until it interacts with, or is observed by the external world. Turned out that:
Successful experiments involving superpositions of relatively large (by the standards of quantum physics) objects have been performed.



I still remember the day when my Statistics Professor Dr. Reese threw a coin to the floor and then immediately put his foot on top of it. "The event has already occurred. But what is the outcome?" he asked. That was a great example of the Bayesian world, where the reality has already happened, but we still don't know -- the uncertainty.

Uncertainty is actually everywhere in AI/Machine Learning/Robotics challenges. For example, an object detection model detected a person, but only with 50% confidence. That means the object detected could be a person or not a person at all. And the bounding box detected could be spot on, perfectly bound the person inside, or it could be 50% off with a 50% IOU (Intersection Over Union). So how do you use this information if you have to decide if there is a visitor by your door? In this case, the event has already happened (there's an object there, whether person or not). There are also cases where you don't know what future holds. If you are in a self-driving car, the self-driving car has no idea what the car next to it will do in the next minute, it could just stay in its lane, or it could change into your lane and collide with your car. A well-designed self-driving car has to be able to deal with uncertainty, maybe when it notices the car next lane starts to weave, maybe it's a good idea to break a bit and keep a good distance from it. But just like Schrödinger’s Cat, before you open the box, anything is possible.

One solution is to try to obtain more observations that might give you more information and reduce the uncertainty. Maybe if you shake the box and hear the cat meow, then you know the cat is likely still alive. Maybe you wait 20 years, and then likely the cat is dead. Actually you don't even have to wait that long, a cat probably will die if it eats no food for a week? What is the cat is pregnant when you put it in the box. You would now have multiple cats that are both dead and alive and you don't even know how many cats you have.


Let's end this with a picture of cute kittens. Didn't Jeff Dean build a deep neural network that learned the concept of a cat all by itself simply by watching lots and lots of youtube videos?


Read part 10: Brain in a Vat

BTW: The easiest way to remember my blog address is http://lanny.lannyland.com

Monday, July 15, 2019

10 Famous Thought Experiments That Just Boggle Your Mind Part 8

Read part 7: Monkeys and Typewriters

[Found a 10-year old draft of this post that was never published. So here it is with some new contents added.]

3. The Chinese Room (Turing Test)

Source: Wikicomms
The Chinese Room is a famous thought experiment first proposed in the early 1980s by John Searle, a prominent American philosopher. Searle first hypothetically assumes that there exists a computer program that can translate Chinese into English and vise versa. Now imagine a man who only speaks English is placed in a sealed room with only a slot in the door. What he has are an English version of the computer program and plenty of scratch paper, pencils, erasers, and file cabinets. He would then receive Chinese characters through the slot, process them following the program instructions, and then produce Chinese characters on paper that he can slip out through the slot on the door. Although he doesn’t speak a word of Chinese, Searle argues that through this process the man in the room could convince anyone on the outside that he was a fluent speaker of Chinese.

Searle wanted to answer the question of whether a machine can truly "understand" Chinese, or does it only simulate the ability to understand Chinese. By creating this thought experiment, Searle argues that the man in the room does not really understand Chinese, therefore, the machine can also be a simulation and doesn't have a "mind" to understand the information, even if the machine can produce responses that gives people the impression of human intelligence.





This thought experiment raises a big question: Does something that appear to be intelligent truly possesses the intelligence. Searle calls the system that actually possesses the intelligence "Strong AI", and the system that doesn't "Weak AI". He argues that this thought experiment proves that "Strong AI" is false.

Today, there are many AI/Machine Learning algorithms at work that perform tasks for us human beings, from chatbots to self-driving cars. Especially with the popularity of deep neural networks, computers can do an amazing job at recognizing things such as human, cars, or stop signs. But how does the machine know an object is a stop sign? With the deep learning approach, we humans don't really know. Interestingly, with just changing the values of a few pixels, an object that still looked like a stop sign to humans now becomes a sign for speed limit 45 sign. And that's the danger of using blackbox systems, where misclassifying the sign could mean the difference of life and death.




This thought experiment is an extension of the Turing Test, which deserves a blog post entirely dedicated to that topic. Turing proposed that if a computer can fool human judges into thinking they are conversing with a real human through a typing only chat program, then the computer is considered to have artificial intelligence and has passed the Turing Test.

Based on this simple definition, many programs could be considered as having passed the Turing Test. in 1964, a program named ELIZA out of the MIT AI Lab gained fame by making users believe they were actually chatting with a psychotherapist, when in fact, the program simply was parroting back at patients what they'd just said. Then later in 2007, a Russian chatbot that emulated a woman was able to fool many lonely Russian males into giving out personal and financial details, given that these males probably couldn't think straight especially after excessive vodka consumption. In both cases, these chatbot programs appeared to be intelligent, when they don't really truly understand what humans had said to them.

[Fun fact: You can talk to a Martian version of ELIZA in Google Earth.]





On March 23, 2016, Microsoft released a chatter bot named Tay via Twitter. Only 16 hours later, Microsoft had to shutdown the bot because it started posting all kinds of inflammatory tweets. Was Tay really a racist? Of course not! But it sure looked like it was intelligent enough to get conversations going.


In one of our Innovation Weeks at work, I actually played with a bunch of chatbots, including cleverbot and Mitsuku (Pandorabots), and integrated them with smart home/smart assistant functions. Mitsuku chatbot has won the Loebner Prize 4 times out of the last 6 years, so it is really up there with respect to its capabilities. During the live demo, when I asked the bot "where is my wife?" it actually replied, "Did you check the bathroom?" Very impressive!! Things got a bit weirder when I had a volunteer talking with the bot and the bot started asking him, "How is your father?"

Earlier this year, OpenAI's researchers unveiled GPT-2, a text-generating algorithm that can write news articles if you give it the beginning part.
[GPT-2] has no other external input, and no prior understanding of what language is, or how it works,” Howard tells The Verge. “Yet it can complete extremely complex series of words, including summarizing an article, translating languages, and much more.
This is a perfect example of the Chinese Room scenario. We have AI that can behave as if it is intelligent, yet has no understanding of language. I guess we have to be super careful about what tasks we give such AI agent/algorithms/models. It might be able to fool us most of the time. But when it comes the time when it fails, because it is only a fancy simulation, we are in big trouble.


Read part 9: Schrodinger's Cat



Picture of the Day:

Amazing depiction of how I felt about my thesis during grad school years... (picture credit: http://www.phdcomics.com)

BTW: The easiest way to remember my blog address is http://lanny.lannyland.com