Friday, February 18, 2022

Stolen Focus review

I was hoping this book would have useful tips on dealing with modern life that I might have missed. Sadly it seems he was upset about people spending time on their phones and decided to take an unplugged vacation. At the end of that, he tried to explain why he felt better on that vacation. Most would probably think no stress and getting plenty of rest would cover most of that but the author seems to think the answers mainly lay elsewhere. While I agree with some of his points like: 

  • People often spend more time posting about the time they are having that enjoying it 
  • Anger impairs your thinking so avoid people that upset you and be suspicious of people that try and keep you upset.
  • Flex time is more efficient than set work hours. (Note this contradicts his anti multitasking thoughts.)
  • Ingesting lead and other poisons are not good for you
  • Caged animals are stressed
  • ADHD is s symptom not a cause.
  • If everything is done for you then you will probably never learn to do anything for yourself

Note though for some of these, and others, his answer is not realistic in the real world. Like getting a good 9 hours sleep every night. That is just not doable for many. For example, if someone is working 2 jobs to get by telling them to reduce the hours they work is not useful. 

For the most part he seems to be grasping at straws to find a reason or reasons and of course he sees many differences from his "normal" life. This is NOT how you establish cause and effect even on a personal level. And talking to experts only to take what you want to hear corrupts the findings even more.

Let me hit some of the points that stuck out to me where he seems to be offbase.

First he goes after multitasking but fundamentally does not understand what multitasking is. Note a lot of people do not seem to either. He says started with multiple processors. It does not even have to do with multiple cores. It is switching to another task while waiting on the current one to proceed or just to share time in a SINGLE core and dates back to early mainframe days. His whole argument that there is cost to this, and there is, which is why this is not simple to do on even a single core computer much less a multi core, multi processor one. The system needs to sort how to weight cost of switching versus its benefits. Do it badly and the systems crawls even with a super fast core. Speed gain over doing serially is only achieved when the total switching time is less than waiting time. Note waiting time is NOT just waiting for user input. There are lots of subsystems like storage or display that might cause processing to pause. Similarly parts of your brain process different inputs. And something like scratching or petting the cat or walking can get reduced to something you basically do not have to think about doing. Which is why skilled programmers often keep typing while talking to you unless the conversation gets fairly complex. They are not ignoring you. They are getting both tasks done without maxing out their brain.

He is wrong in his example. Scratching your but while talking on the phone IS multitasking. His basic argument is like saying if you can only use one arm so you need to put the phone down to do it. Multitasking in people only works if you are not using the same resources or there is a nonsignificant switching load. For instance listening to a story while web surfing or responding to emails probably will not work, while listening to music or a podcast, or even a lot of TV will. Why? Because there is too much to keep in mind with a audio story. It builds a picture or even a world in your head. It is basically the same as taking a break in the middle. How much will it take to get you back into the flow? The others are much simpler and so easy to jump back into. On flip side listening to a story while driving also works because driving does not require that complex of a model. Note this is a generalization. There are of course people that can not walk and talk at the same time. 

He talks about how Instagram and others have used Skinner's work to program us like computers yet often says how we are not like machines.

He does not seem to get flow state. It is not hyperfocus. It is instead it is when things become second nature. Or as a programmer might say you make it a subroutine so you do not need to think about it too hard. He seems to think it is hyperfocus because loses track of time. Tuning out somethings is not the same as hyperfocus. For example daydreaming while someone is talking to you also fits this model and you would not call that hyperfocus.

Had to laugh at "waking after sleeping for nine hours I found I did not need coffee. What an alien concept."  He then goes on to talk about how he discovered people do better with enough sleep and most don't get it. He seems to think the main factor to why he slept better while basically being on vacation was less artificial light. That is unbelievably simplistic.

His whole look at social media I'm not sure was funny or sad. Granted some people are only posting to feel popular. He seems to think that is THE reason to post on social media. But trolls do just the opposite. Most posts I see are more about letting friends and family know what they are up to and or what they think about something. The later, to find people that think similar which is what I most often hear is considered the biggest issue with social media since it creates info bubbles around people.

He comments how inspiration often comes while doing one thing will thinking about another. This is one aspect of multitasking and flow. This is a well known trick to get past a block. Go do something else and your brain will churn on it in the background or when you come back your brain will have lost (forgot) some of the assumptions you had before. It is not increasing focus. It is pulling back to let other options and views in.

Another total miss. If Facebook did not do ads it would magically become ideal where they will not care if you use the site or not. And people would flock to to a site like that even if they had to pay. Thing is people tend to drop paid subscriptions for sites they are not using that much. Remember the main reason everyone is on Facebook is that everyone is on Facebook. There are sites like MeWe that are exactly like he describes. Yet almost no one uses them. Why? Because almost nothing gets posted there, because there is almost nothing to read there, because almost nothing gets posted there... And it is even mostly free too. Granted it is not as "polished" as Facebook given the smaller budget. I've had friends try and move there but they soon find the conversations dry up and they stop checking it. Though he thinks we should be on these sites less anyway so he might be OK with that. Clearly discouraging people from using Facebook is not the answer Facebook will get behind if they are getting all their income from subscriptions. Also basically outlawing ads on sites pretty much means every site on the internet is going to cost you to see. We are already seeing this with many sites as a response to ad blockers.

I could go on but ought to have the idea by now.

I suggest starting with the conclusion, he basically covers the 6 changes he made to his life and his answers to fixing society (like standard 4 day work week) in there. Then decide if you need the rest. Personally I doubt most will have the luxury to duplicate most of his ideas or his fixes get much traction.


Monday, October 25, 2021

Roomba i6+

Background

Bought a iRobot Roomba i6+ (6550) Robot Vacuum with Automatic Dirt Disposal-Empties Itself for up to 60 Days, Wi-Fi Connected, Works with Alexa, Carpets, + Smart Mapping Upgrade - Clean & Schedule by Room on a Black Friday special for extra $100 off ($600 w/ 6 months no interest). Waited to try it till I got the place in some sense of order as place was starting to look like a shipping and receiving department with boxes all over.

Day 1 (of running)

Finally got my Roomba going. Had all the boxes and equipment waiting repair off the floor so got ready to do mapping and there was not option to map. Triple checked model was supposed to do mapping and found posts that it might take a few runs to pull an update before that work work. So ended moving on the cleaning. Wish I'd know that first since I would have been using it before clearing the floor.

Next I sweep all over well in prep. With 2 large dogs, one with long hair, that go in and out all day and night plus cats coupled with being a bit behind on cleaning I figured it would not be a fair test. (Seriously it was getting to look bad especially in the kennel and hallway to the kennel but the pile I swept up was unreal. The size of a couple large cats. Granted we are talking ~1400 sq. ft.) Thought I did a great job sweeping as is felt clean to bare feet but Roomba emptied itself 4 times before clogging up with fur wrapped around the brush bearings. Thankfully a lot easier to clean than the older models I've had with brushes you had to cut and comb the fur out of. Pretty quick but battery was almost gone so put back on the charger planning to fire up again when charged and see how many more passes it takes to be "Roomba clean".

Note my cats seem to think the Roomba is a new dog, some equal threat or maybe a toy that needs watched from a safe location. But watched intently to classify.

Day 2

Note seemed have to start over instead of resume. It ran a couple more clean and dump cycles and signaled bin full. I had not remembered to get more bags so I proceeded to try and empty the bag to reuse it. Turned out most of what was in there was fur and there is a sort of funnel sleeve inside the bag which make it a bit harder but I got it done. Also dumped the bin and blew out the filter that was looking pretty coated by now. Fired up and said bin full.  App said might be dirt on sensor so took out to blow out. When I removed the bin I found stuff in there. I can only guess was inside the Roomba between the rollers and bin. Emptied and blew everything out and I was back in business. But again starting over. I think I messed up not using the clean button on the Roomba instead of the app will have to see.

It found and ingested a zip tie and called for help but otherwise ran till the battery needed a charge. I could here is was finding dry dog food or small rocks somewhere and the got transferred to the bag. I do not think it finished yet. It did make a couple trips down the hall and into the kennel. Second time I noticed I could not hear it so I went looking and found it heading back. Ethel (my white dog) was in there and seemed unconcerned till she saw me and headed outside if it was time for walks. I grabbed video from some of the indoor cams and it appears the Roomba "sees" Ethel after bumping her food bowl and decides go back to cleaning on the far side of the room. Note the camera in night vision (black and with footage) you can see the IR sensors on the Roomba. Also notice how it knows to come straight down the hall to pickup where it left off. That would seem to indicate it is building a map even if one is not showing in the app yet.

So it looks like you might get by with cleaning the "disposable" bits but best to have spares. Looks like there are plenty of cheaper options so I ordered both iRobot versions and cheap versions so I'd have the iRobot ones as backups if the cheap versions do not work well. Might be worth a compare as well later. Here is what I ordered.

iRobot Authentic Replacement Parts- Roomba e, i, & j Series Replenishment Kit, (3 High-Efficiency Filters, 3 Edge-Sweeping Brushes, and 1 Set of Multi-Surface Rubber Brushes),Green - 4639168

iRobot Authentic Replacement Parts- Clean Base Automatic Dirt Disposal Bags, 3-Pack, Compatible with All Clean Base models, White - 4640235

Garbage fighter Replacement Parts Filters, High Efficiency Filters Cleaning Brush Compatible for iRobot Roomba i7 i7+ i7 Plus E5 E6 E7 Series, Robot Vacuum Cleaner Accessory Kit 12 PCS

Garbage fighter Dirt Bags Replacement Parts 10 Pack - Compatible with iRobot Roomba i7 i7+ i7 Plus s9 s9+ E5 E6 E7 Series Parts, Vacuum Clean Base Automatic Dirt Disposal Bags

More to come.

Tuesday, September 7, 2021

prolifewhistleblower timeline.

Not really review other than to help sort a lot of iffy reporting I'm reading. Some of the formatting is od to make easier for copy / pasting.

On submitting reports:

First off there is a meme going around to use a VPN to submit fake reports. In the short term this might work but any IT department worth anything would block or at least flag any reports from known VPN IPs. So you need a botnet or to crowdsource. This guy did an app for submitting fake reports to make it easy to crowdsource but read on first. https://www.statesman.com/story/tech/2021/09/02/tiktok-iphone-code-fools-texas-abortion-whistleblower-site/5701760001/?utm_source=SND&utm_medium=Facebook&utm_campaign=statesman&fbclid=IwAR1Nk7c5-kt_TYRp8ap5JFArtc2xDg1XJCgtBlBYnwpupm_jJE29k_Sd0bU


Here is what I've sorted about the site. 

Status as of late on 9/3:

A lot of what is getting reported seems to be vague or wrong.  For instance the New York Times has used both prolifewhistleblower dot com and profilewhistleblower dot com. On 9/2 profilewhistleblower was basically a dead site with just a copyright notice.

The domain prolifewhistleblower dot com was registered at GoDaddy on June 7th. They moved the registration to Epik Holdings Inc on Sept 3rd. The prolifewhistleblower "site" was and is hosted at Sucuri which is a web security company. The prolifewhistleblower "site" seems to have a bad cert so maybe they are not good at it. But that might be by design too. eSet is blocking prolifewhistleblower as a possible "unwanted content" site. Probably because they appear to be a prefilter for websites. If you get past all that is redirects to texasrighttolife dot com. They claim there GoDaddy booted them so there was probably a hidden site hosted at GoDaddy that prolifewhistleblower originally redirected to so Sucuri could filter suspicious traffic. So they are probably gathering IPs submitting while the form is offline to filter with later.

texasrighttolife dot com is hosted at IP 66.85.248.21 which is at RightForge in Washington DC.

Ars Technica got it more right than most that referenced them. From their updates it sounds like the site moved hosting to Digital Ocean for a bit before I started digging.

Epik told the Daily Beast they do not want to host it either though they are still acting as register which many seem to mistakenly think is the same thing. So they may want to boot that as well.

Update 9/7/2021 about noon

The Washington Post was reporting the site was down for a second time.

https://www.washingtonpost.com/nation/2021/09/06/texas-abortion-ban-website/

I'm guessing they got the 404 because they tried a full URL instead of going the the site's top level. 

The domain is still registered at Epik Holdings Inc but as of 2021-09-04T04:24:02Z the domain points to a new IP 88.214.197.102 which is "hosted" at Overoptic Systems LTD DBM in the UK.  Though DNS appears set up for a site redirect to texasrighttolife.com so technically it is not hosted anywhere.

curl -v http://prolifewhistleblower.com

* STATE: INIT => CONNECT handle 0x800096238; line 1491 (connection #-5000)

* Added connection 0. The cache now contains 1 members

* STATE: CONNECT => WAITRESOLVE handle 0x800096238; line 1532 (connection #0)

*   Trying 88.214.197.102:80...

* TCP_NODELAY set

* STATE: WAITRESOLVE => WAITCONNECT handle 0x800096238; line 1611 (connection #0)

* Connected to prolifewhistleblower.com (88.214.197.102) port 80 (#0)

* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x800096238; line 1667 (connection #0)

* Marked for [keep alive]: HTTP default

* STATE: SENDPROTOCONNECT => DO handle 0x800096238; line 1685 (connection #0)

> GET / HTTP/1.1

> Host: prolifewhistleblower.com

> User-Agent: curl/7.66.0

> Accept: */*

>

* STATE: DO => DO_DONE handle 0x800096238; line 1756 (connection #0)

* STATE: DO_DONE => PERFORM handle 0x800096238; line 1877 (connection #0)

* Mark bundle as not supporting multiuse

* HTTP 1.1 or later with persistent connection

< HTTP/1.1 301 Moved Permanently

< Server: nginx/1.19.4

< Date: Tue, 07 Sep 2021 16:05:19 GMT

< Transfer-Encoding: chunked

< Connection: keep-alive

< Location: https://www.texasrighttolife.com/

< Content-Type: text/html

< Access-Control-Allow-Origin: *

<

* STATE: PERFORM => DONE handle 0x800096238; line 2067 (connection #0)

* multi_done

* Connection #0 to host prolifewhistleblower.com left intact

* Expire cleared (transfer 0x800096238)

profilewhistleblower dot com has added links to another Linode Network Operations server www6.profilewhistleblower.com which appears to be a parked, not yet set up subdomain. I would not be surprised if it ends up hosting a malware dropper.

At about 8PM 

The domain is resolving to the IP 185.255.121.2 which is back at Epik. still redirecting to texasrighttolife.


Monday, May 11, 2020

Java app code generators

What I'm trying to do

Clear back in 2005 I wrote my first app to get CRUD pages for a web app from a quick look a the DB metadata. I've done it again  many times since. Always with an eye to making my task easier instead of a generic app. Every time I first look to see if anyone has done somehting similar for the framework I'm using for that project but it always turns out the be easier to just write something myself than the tools I found. Since I've been doing a lot of stuff with containers lately I though it would be good to be able to quickly spin up POC apps for project demos so I'm looking at generators again.

For this POC I started with a simple SQLite DB with just 2 tables. Shows and Networks.

Options tried

The Eclipse market place just lists a couple and I heard about others. Really only Telosys in the market place seemed to be used by more than a few people.

Spring Initializr

Creates a basic project template but need classes created. There are lots of Spring Boot classes on Lynda.com though and it does give you a projects with most of the dependencies you might need.

Telosys

The plugin seems have a lot of downloads and the screen shots look promising but there appears to be no documentation at all. I messed with a bit but

JMR

It is from a Chinese developer and only downloaded 39 times so that is probably a deal breaker right there. On the other hand it at least has documentation to get you started. But it seems to be mainly a GUI for creating JSP style templates to gen code from so again not sure how much of a time saver it would be.

New JPA project

My first issue was I was using  Spring Tools 4.3 from a previous project and creating a JPA project was not even an option.

From the Eclipse Oxygen I tried it just hung creating the project. After about 30 minutes or so it FINALLY unstuck. I generated the beans  per the instructions and got something close. That step went pretty fast but for the overhead I do not see it as worth it for just a few tables.

While I was waiting to see if Oxygen would ever return I downloaded the latest Spring Tools 4.6. But again creating a JPA project is not a option. (Granted I could keep installing tools till I got something to work or it stopped working but the point was to find something simpler than just writing my own code.)

In the end it seems to do "OK" if you do not have (or at least tell it you have) association between tables. Even then though you need to tell it what class to use for every field or it makes them all Objects. It also seems to fail if you do not tell it the id field. So still probably as much trouble to config as to just create the POJOs by hand.

g9 Database Import

Another POJO generator. Does not support SQLite though.

Speedment

To start you use their initializer instead of the Spring Boot one.

It wants Maven 3.5.3 (release Feb 2018) or better to run so that meant a newer IDE.
Note the newer Eclipse zips seem to have an error in them which means you need to manually edit the config.ini or use the installer.

After installing and running the generate tool on the 2 tables with defaults settings I had 91 files generated. I had to "disable" some other tables left over from importing the sheets into the DB. That left me with 46 files for the 2 tables. Note rerunning the tools removes the files for the "disabled" tables. Unfortunately the rest interface it generates appears to be broken and just gives you 404s.

JHipster

The one class there was for it on Lynda.com can not be accessed via LinkedIn Learning. Not sure what is going on there but does not bode well. I wanted to look at it first but was turned off this. But after trying the above I decided to give it a try.
I followed these instructions for setup. Note when running the generator the docs are a bit out of step with what is on screen starting at step 13.
Note I was missing several things it needed and had to run
npm install rimraf -g
npm install webpack (note the missing -g as it expects it to be below the app folder)
npm install write-file-webpack-plugin
npm install webpack-merge
npm install browser-sync-webpack-plugin
npm install browser-sync
npm install webpack-notifier
npm install xml2js
npm install copy-webpack-plugin
npm install html-webpack-plugin
npm install rxjs
npm install merge-jsons-webpack-plugin
then run jhipster again. Fortunately it remembered where it errored out each time.
After all that the java code did not build
ERROR in Entry module not found: Error: Can't resolve 'angular2-template-loader' in 'D:\eclipse-jee-2020-03\workspace\BugTrackerJHipster'

ERROR in Entry module not found: Error: Can't resolve 'angular2-template-loader' in 'D:\eclipse-jee-2020-03\workspace\BugTrackerJHipster'

ERROR in Entry module not found: Error: Can't resolve 'style-loader' in 'D:\eclipse-jee-2020-03\workspace\BugTrackerJHipster'

ERROR in   Error: Child compilation failed:
  Entry module not found: Error: Can't resolve 'html-loader' in 'D:\eclipse-jee-2020-03\workspace\BugTrackerJHipster':
  Error: Can't resolve 'html-loader' in 'D:\eclipse-jee-2020-03\workspace\BugTrackerJHipster'

  - compiler.js:76
    [BugTrackerJHipster]/[html-webpack-plugin]/lib/compiler.js:76:16

  - Compiler.js:300 compile
    [BugTrackerJHipster]/[webpack]/lib/Compiler.js:300:11

  - Compiler.js:510 applyPluginsAsync.err
    [BugTrackerJHipster]/[webpack]/lib/Compiler.js:510:14

  - Tapable.js:202 next
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:202:11

  - CachePlugin.js:78 Compiler.<anonymous>
    [BugTrackerJHipster]/[webpack]/lib/CachePlugin.js:78:5

  - Tapable.js:206 Compiler.applyPluginsAsyncSeries
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:206:13

  - Compiler.js:507 compilation.seal.err
    [BugTrackerJHipster]/[webpack]/lib/Compiler.js:507:11

  - Tapable.js:195 Compilation.applyPluginsAsyncSeries
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:195:46

  - Compilation.js:680 self.applyPluginsAsync.err
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:680:19

  - Tapable.js:195 Compilation.applyPluginsAsyncSeries
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:195:46

  - Compilation.js:671 self.applyPluginsAsync.err
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:671:11

  - Tapable.js:195 Compilation.applyPluginsAsyncSeries
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:195:46

  - Compilation.js:666 self.applyPluginsAsync.err
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:666:10

  - Tapable.js:195 Compilation.applyPluginsAsyncSeries
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:195:46

  - Compilation.js:662 sealPart2
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:662:9

  - Tapable.js:195 Compilation.applyPluginsAsyncSeries
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:195:46

  - Compilation.js:605 Compilation.seal
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:605:8

  - Compiler.js:504 applyPluginsParallel.err
    [BugTrackerJHipster]/[webpack]/lib/Compiler.js:504:17

  - Tapable.js:289
    [BugTrackerJHipster]/[tapable]/lib/Tapable.js:289:11

  - Compilation.js:507 _addModuleChain
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:507:11

  - Compilation.js:390 errorAndCallback.bail
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:390:4

  - Compilation.js:413 moduleFactory.create
    [BugTrackerJHipster]/[webpack]/lib/Compilation.js:413:13

  - NormalModuleFactory.js:235 factory
    [BugTrackerJHipster]/[webpack]/lib/NormalModuleFactory.js:235:20

  - NormalModuleFactory.js:60 resolver
    [BugTrackerJHipster]/[webpack]/lib/NormalModuleFactory.js:60:20

  - NormalModuleFactory.js:191 asyncLib.parallel
    [BugTrackerJHipster]/[webpack]/lib/NormalModuleFactory.js:191:21

  - async.js:3888
    [BugTrackerJHipster]/[async]/dist/async.js:3888:9

  - async.js:473
    [BugTrackerJHipster]/[async]/dist/async.js:473:16

  - async.js:1062 iteratorCallback
    [BugTrackerJHipster]/[async]/dist/async.js:1062:13

  - async.js:969
    [BugTrackerJHipster]/[async]/dist/async.js:969:16

  - async.js:3885
    [BugTrackerJHipster]/[async]/dist/async.js:3885:13


error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
If you find JHipster useful consider supporting our collective https://opencollective.com/generator-jhipster

Server application generated successfully.

Run your Spring Boot application:
 ./mvnw (mvnw if using Windows Command Prompt)
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: ERROR! webpack:build failed.
    at Environment.error (C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\generator-jhipster\node_modules\yeoman-environment\lib\environment.js:157:40)
    at module.exports.error (C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\generator-jhipster\generators\generator-base.js:2064:18)
    at module.exports.end (C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\generator-jhipster\generators\client\index.js:410:18)
    at Object.<anonymous> (C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\yeoman-generator\lib\index.js:399:25)
    at C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\run-async\index.js:25:25
    at new Promise (<anonymous>)
    at C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\run-async\index.js:24:19
    at self.env.runLoop.add.completed (C:\Users\avata\AppData\Local\Yarn\Data\global\node_modules\yeoman-generator\lib\index.js:400:11)
    at runCallback (timers.js:794:20)
    at tryOnImmediate (timers.js:752:5)



Tuesday, March 24, 2020

Review: Making water at home

Note I started this post to tell people about alternatives to bottled water but because of the SARS-CoV-2 (Covid-19) outbreak most of the items are already sold out. You might be able to find similar items though or after sanity comes back.

Mentioned in this post

Mophorn Water Distillers Countertop 4L BPA-Free Container 750W Digital Control Distilling Water Machine for Home with Handle Upgrade
BN-LINK 12 Hour Mechanical Accurate Countdown Timer with Grounded Pin - Energy Saving for Kitchen, Phone Charger, Lamps, Security 1875W, 1/2 HP, ETL Listed
ZeroWater (ZBD-040-1) 40 Cup Ready-Pour Glass Dispenser, BPA-Free, with Free Water Quality Meter, NSF Certified to Reduce Lead and Other Heavy Metals
Beverage Dispenser Replacement Spigot,Oak Leaf Stainless Steel Spigot Polished Finished, Dispenser Replacement Faucet
ZeroWater ZD-018 ZD018, 23 Cup Water Filter Pitcher with Water Quality Meter
ZeroWater Replacement Filters 12-Pack BPA-Free Replacement Water Filters for ZeroWater Pitchers and Dispensers NSF Certified to Reduce Lead and Other Heavy Metals
Etekcity Digital Handheld TDS Meter , +/- 2% High Accuracy, 0-9990 ppm (Blue)

Update 10/14/2021:
VEVOR Water Distiller, 1.1 Gal Distilled Water Maker, 4L Pure Water Distiller w/Dual Temperature Display, 750W Countertop Water Distiller, Distilled Water Machine for Home w/Plastic Container White

The issue

I'm on a well and the water that comes out of it is HARD as in averages in the mid 300s on a water purity meter AFTER going through the water softener. It also has Hydrogen Sulfide in it from time to time. So I store up water for the animals to use during the H₂S times. I was drinking mainly bottled water but hated all the extra plastic. (See my Drinking water post about testing the various brands and types. You will probably be surprised.( I bought a ZeroWater ZD-018 ZD018, 23 Cup Water Filter Pitcher with Water Quality Meter to try and avoid that but a filter was yielding me less than 9 gallons of water. Even buying the 12 pack of filters at $118 that comes out to over a dollar a gallon plus you have the filter to dispose of. Hard to say which has waste but the filters weight about 464 grams and a gallon water bottle about 70 grams. (Not including packaging.) Of course some of the filter weight is not plastic and it is compressed where the bottles will take some effort to get to the same size package and so on. Either way neither seemed like a good choice.

My setup

What I came up with

Step 1

I had decided on distilled water for bottled water from earlier testing I started thinking why not just distill the water? After reading reviews I figured out the base models are not very good. What you need is a model you can adjust the heat on and a timer to make sure it does not run dry. Here is the water I started with. It is hard to see but this is a relative soft batch at 284.



Starting with the review and then doing a bit of experimentation it appears the the temperature dial and readouts on the distiller might be off a bit. I set the dial right at 100C but it says it is cooler.


Then I set the timer for 3 hours. (Which is a good deal shorter than the 4 to 5 hours in reviews and still distilled almost all the water.) That gives me water purer than most of the bottled waters on the market.



This is what is left behind. I poured some of the less than 1/2 inch left in the boiling chamber into a beaker for this pic. That is 8260 on the meter! I did not notice till I was posting this the 10x indicator in the low left of the LED readout. Kind of shows why you do not want this to boil dry with a 320 degree auto shutoff like the base models do. Way too much of this ends up in your output.


Estimates were around 50 cents of electricity per gallon in review so it could be way cheaper too. I appear to be running it cooler and shorter than most so maybe even better.

Step 2 (optional)

You probably want something to hold s the water and possibly filter it. Which lead me to getting the ZeroWater (ZBD-040-1) 40 Cup. From the reviews the valve on this is junk so you will want an after market spigot too. This give me a 2+ gallon buffer ready to use water as pure as the distilled bottled water (zero on the meter) and the filters should last a long time since the water going in is pretty pure to start with I'm keeping tabs on how many gallons I get from a filter so we'll see if it is all worth it. More to come.

Update 9/18/2020 

After about 6 months I'm still very happy with this though I have put an upside down bowl (about 3 inches deep)  under the jug to raise it to lessen splashes escaping. Stopped using the distiller's carbon filters too given I run it through a ZeroWater. I think the carbon filters are only needed if you run the unit dry which my setup avoids and they tend to leave bits of carbon in the jug and ZeroWater reservoirs. Note making almost a gallon a day, I've still not needed to change the ZeroWater filters. I did clean out my smaller ZeroWater ZD-018 ZD018, 23 Cup Water Filter Pitcher with Water Quality Meter I was using to filter softened water when its filter needed changing. Between the 2 I can empty the whole jug in one go without waiting for the reservoir to empty. (The 40 cup's reservoir only holds about 4/5ths of a gallon. The 23 cup even less.) Given the price and rate I was going through those filters I'm sure the distiller is cheaper on top of less waste.

Something else you might find helpful is to add one of these Kichwit Dishwasher Magnet Clean Dirty Sign Indicator to the front. I set it to: 
  • Clean - when ready to go (I run it "off hours")
  • Running - when I set the timer to start a 3 hour run
  • Dirty - when I empty the jug till I have time to clean and refill the reservoir. 
After running it without refilling a couple times I figured the sign was well worth the $8.

Update 10/14/2021

Mophorns went out at about the same 9 month mark (~200 gallons) so I purchased a VEVOR Water Distiller the 3rd time. The first started cycling off and on while the second the heating element appears to have quit on so it might be possible to merge the two into one working one when I have the time. The Vevor is cheaper and has a digital control and read out and $40 cheaper. Assuming 50 cents in electricity and replacing every 200 gallons I'm looking at a dollar a gallon with the Vevor and again with a fair bit of waste if I have to toss it. I figure worst case I can give to Goodwill to repair or recycle. It also appears these are all basically the same so there is a fairly good chance I could use parts from one to fix another. I'm actually still using the same top cooler unit from the 1st distiller. Oddly the second Mophorn took ~3.5 hours to distill a gallon of water with about an inch left in the boiler will both the first Mophorn and the Vevor seem to do it in 3 hours. Interesting too that read out on the Vevor holds at 100 so maybe the temp control is not even needed. Just sort the run time to leave a bit in the boiler. In that case the cheapest unit (currently $75) might be fine.

Note I swapped out the jug for a beaker list a cover awhile back for something easier to clean. This worked will with the Mophorns.
Mophorn with beaker

The Vevor has the controls in the main unit instead of an add on base so it is much shorter requiring me to add a base on my own. If you use the jug it comes with it is not an issue of course.
Vevor with beaker


Update 02/07/2022

The VEVOR Water Distiller went out after 4 months. Shorted out actually, tripping the GFI breaker. After some experiments, I've decided the temperature control is not really important as long as you have a timer to shut it off before it boils dry so getting the cheapest model is probably good enough. Turned out though the VEVOR Water Distiller was the cheapest model Amazon had in stock, even without a temperature control, so that is what I got. Hopefully the 4 months lifespan was a fluke. Need to find time to see if the others can be repaired. So far it is running about $20-30 per month for hardware alone.  Add in electricity and it is getting close to the cost of the Zero filters and no savings in waste either. It does remove the Hydrogen Sulfide (HS) gas when that is an issue where the Zero filters do not, so maybe still be a bit of an advantage. 










Thursday, January 16, 2020

Review:Firewalla

From the info on the website it appeared I could use the one feature of the Firewalla Blue I wanted. Something to monitor what things the devices on my IoT network are talking to and give me a notification if they try and connect to something unexpected. Essentially monitor if any device may have been co-opted and or is trying to co-opt. It did give me alerts for remote sites my Wyze cams, Echos and SmartThings hubs connected to along with every new device it saw. But the Firewalla seems to insist on inserting itself via arp spoofing and messes with DNS which caused all kinds of issues. Among the top things I noticed were:

Alerts from antivirus software about bad arp packets. That would be kind of expected but why it does this even with most of the features disabled is unclear. All this should need to do is log traffic like Wireshark and only need arp spoofing to try and stop traffic. Same with DNS.

Despite claims it works with Unifi it seems to have caused all kinds of issues with APs and switches not getting heartbeats to the controller and generally dropping data so the topology map was only showing a few devices and those all connected directly to the router. The client listing would often show the wrong AP/Port for a device.

Some security cams started having issues staying connected too. I'm to the point this morning I'm shutting it down so we'll see if the camera issues correct or were a coincidence. Update other than the Wyze cams, they did.

So if you are looking for something simple to monitor your home network of a few devices and the ISP provided router this might work well for you. If your network is at all advanced beyond basic, give it a pass.

Thursday, December 26, 2019

Acer Desktop Aspire TC TC-780-UR11 Intel Core i7 7th Gen 7700 (3.60 GHz) 8 GB DDR4 1 TB HDD Windows 10 Home


Newegg link

Stars: 2

Pros:

Good price for an 8th gen i7 PC.

Cons:

Can't run Linux
Even swapping the HD seems almost impossible
No visible POST
No display in BIOS menus of some basic values like installed RAM

Overall:

So far I managed to get the system to boot up with Windows on the HD is came with but when I tried to stick in another drive and install CentOS 7 on it I was surprised to find out I could not. Google CentOS and SpeedStep and TurboMode. Anyway I left it sit for awhile till I needed another Windows PC to upgrade my oldest Blue Iris server. For this one I want an SSD for the boot drive to match the other 4 servers but no go. Wasted almost 2 days not trying to get Windows 10 restored or install on the SSD but best case it finished with no network available and then crashes with Whea_Uncorrectable_Error when I try to login. Not that I could anyway because when you set up the PC if forces you to use your outlook.com login which requires the network. Other accounts are disabled so if you did not set one before you made the restore. I tried it one last time adding some local account and recreating the recovery USB but still could not even get to a login prompt.

I found conflicting info on whether or not is supports a M.2 SSD but this seems to confirm it does support some. But when I ran the tool they mention all I found was a max width of 1 which I gather would be as slow as the HD.

So I went back to the HD it came with (which works fine BTW) and added memory and a medium range graphics card like I used in the Dells. Unfortunately the graphics card requires a 6 pin power connector which this system also does not have.

So I broke down and ordered another Dell. I'll see about using it for something else later and update this then.