Category Archives: Uncategorized

Apple Watch Solo

Apple makes some good products… I’m not so sure the Apple watch can be counted as one of them. Reasons: the battery life isn’t stellar, and, most importantly, it is an utter pain to set one up for family member.

The setup problem is because apple requires an iphone to set up the apple watch and, to travel the royal path, said iphone should be on a plan that supports the apple watch. Since I am cheap, I am not on one of those plans.

After much pain and wasted time I found the one true way to connect the watch to cellular while keeping a cheap plan on your phone. The process is superficially easy, but unnecessarily painful. Roughly it goes like this:

  1. Call verizon. Yes. Call. In the year 2023 – you MUST call them.
    • You must connect to their “inside sales” departemnt
  2. Tell the sales associate you want to connect an apple watch to cellular in standalone mode
  3. Given them the watch IMEI
  4. Ask them to activate the watch. Then activate the watch using your iphone. Do this with them on the phone
    • If they don’t activate now, you will try endlessly to get it to work in vain. You will call them the next day and have to pick right up where you left off.

Disneyworld sucks

It’s not magical – no matter how many times they say it is. It is as magical as having a pickpocket empty your wallet everyday and giving you back only lost days of your life and a sunburn.

I hope someone starts a new theme park that is actually based on some new ideas and real entertainment, not hackneyed recycled flufff from yesteryear. Walt would be so ashamed.

GPU + TPU parallelism

I use my RTX for heavier ML workflows, like training and high-quality inference (say, centernet). Additionally my security system has edge-based (coral TPU) cameras (one TPU per camera) that perform their own inference workloads. Thus all my compute resources are busy burning any solar power I get, and then some.

This poses a problem as it means i have no spare compute to handle any remaining workloads. For example, during regression testing of new models I need to re-run inference against old data. Neither the camera TPUs nor the RTX is available. Thankfully, one can just add extra TPUs to the main workhorse server to gain additional inference capacity. Each of these TPUs is capable of 90ish inferences a second of a mobilenetv2-based net. All this on the same server performing inference and training using the RTX without impacting performance.

Each TPU operates independently. Currently I have two TPUs in addition to my RTX. CPU utilization sits around 25% while the TPU and GPU resources are pegged. A busy box is a happy box.

For reference, a good docker container for running coral: https://github.com/pklinker/coral-container.git – the scripts provided for objdet are good – just remember you can pass “@:0” or “@:1” to reference your 1st, 2nd, etcth TPU.

Putin is a Sad Bad Banana

How sad that a grown man – a single sorrowful, pitiful human being – could dash the hope and optimism of the world by plunging it into a stupid war. We all make dumb mistakes – but very few of have the distinction to make a mistake that causes the following:

  • Young children, who should be in school and playing on playgrounds, are being killed, scared to death, and left fatherless. Instead their schools are bombed and they are living in a hell zone.
  • Mothers who should be receiving the best of care to bring up their children are dying – some in maternity hospitals. This because in war there is no real safety and everyone is potential “collateral damage.”
  • Young people, in Ukraine and Russia, who should be stretching their minds and talents to the benefit of society, are wasting their lives in a pointless war of one man’s doing
  • The world, instead of solving great problems, like traveling to infinity and beyond, and helping the poor and the sick, have had their hopes reset with the realization that a modern-day madman can bring the storms of war to everyone’s doorstep.

These are the things that fall squarely on Mr. Putin. As such Putin earns, with ignominy, the “sad banana” award – he’s just a gross, rotten banana that nobody wants. How very sad.

Putin Has Lost His Ukranian War

Putin has lost the war for one simple reason: he never had a cause to start it in the first place – and everyone knows it.

What he is doing might have worked 50 years ago – when the skies weren’t monitored by non-military GPS. When we didn’t have social media showing us the people we already knew and loved in Ukraine being murdered. We can plainly see what he is doing.

We knew he was coming weeks in advance. The US took away any shred of surprise he might have had – if he indeed had any, as he parked 100k+ troops right on Ukraines doorstep for a month. We saw the Ukrainians good-faith destroyed.

What Putin needs is help thinking as his brain seems rotten. Here’s some help I offer:

  • “We have to de-nazify Ukraine.” The Nazis were those who decided they didn’t like a group of people, invaded their country, and killed them. That is what the Russians are doing. The Jews were the people that, sadly, took the abuse from the Nazis. The Ukrainians are the Jews. Nobody is buying what Putin is saying here because it doesn’t square with what he is doing. He is killing Ukranians. He is being the Nazi. What Putin should be saying here is: “Russia has long desired to emulate the Nazis and will now do so by invading Ukraine.” Very faithfully said, Mr. Putin.
  • “The Ukranian soldiers are using their people as human shields.” Since Putin is attacking Ukraine, EVERY UKRAINIAN is a defender – not just the army. No human shields exist – just the men, women, and children of Ukraine he is killing. Ukraine is justified in defending. Russia is not justified in attacking any individual in Ukraine. Here is what Putin meant: “Russia will kill innocent Ukranians indiscriminately.” I give Putin a 10/10 for this honest statement.
  • “Any foreigner who joins the Ukrainians will meet consequences they have never seen.” Here Putin wants to deter any decent human being from helping defend the victim he is trying to murder. He is threatening nuclear war to any who might want to help. This is further proof he has no cause – if we needed further proof – for in a real cause to declare war, someone would hope for allies to stand at your side in doing what is right. Putin has no right to what he is doing. He knows it. He also knows he has a slim chance to defeating Ukraine – because nobody in Ukraine wants Russia (except a narrow strip of Russians in the east – which were already somewhat separate). He will only “win” if he basically beats the Ukrainians into submission over a long stretch of time. Anyone helping would totally frustrate his plans. Sadly, the West appears to be listening to Putin. What the world needs is to not be afraid. Putin can’t progress in a war that the world opposes. He can only progress if people are scared to oppose him. So really all he meant to say was “Russia would rather destroy the entire world than lose a war they unjustly started.”

I have no ill will against the Russian people who were stuck with Putin when he started this war. It is their fault if they keep him around. If they do they are complicit with him. Putin can arrest 10s of thousands of people – but not millions of people. If his own people stood up to him, the could clear their own guilt. Otherwise, they are the German Nazis just like in WWII who stood by as the worst evils humankind can commit were perpetrated by their army.

The History of the Ukraine war, with respect to Putin, has been written. He’s guilty beyond measure and everyone knows it. He can shell innocent civilians only so long as his own troops are blinded from this fact. Only so long as his people sit quietly by. History has written his portion of this conflict. It is anxiously awaiting to see how the Ukranian liberation will unfold.

Good Readings for Convolution Neural Networks (CNN)s

https://brohrer.github.io/how_convolutional_neural_networks_work.html – This page did a good job of breaking down the individual operations that are common to all CNNs – ReLU, pooling, convolution, etc. After reading the article you can basically implement your own CNN – but without a lot of the advanced improvements that have made them faster and more powerful.

https://towardsdatascience.com/review-yolov3-you-only-look-once-object-detection-eab75d7a1ba6 has lots of reviews of algorithms

Dive into deep learning – a free book: http://d2l.ai

Physically Disconnecting the Speaker and Microphone on the Wyzecam V3

The Wyzecam v3 comes with some great features – namely the $20 price tag and excellent starlight sensor. It also comes with a microphone and speaker – both of which have their downsides. For those that wish to disconnect them (say, for privacy reasons) — and don’t fully trust the software “disable” — one can physically disconnect them without damaging the camera.

NOTE: if you plan to disconnect the speaker you should probably do this only AFTER setting up the camera, as it provides voice prompts during the setup.

Estimated time: This takes less than 5 minutes.

Step 1 – Use a plastic spudger such as this one for $1.99 from ifixit

Step 2 – Guide the spudger under the outside of the white rim on the front of the camera. Run it around the ENTIRE white rim to loosen the underlying adhesive. Be careful not to push it too far under the rim as it will mar the adhesive tape and thereby decrease re-assembly quality.

Note the sticky tape on the back of the white insert. You want to avoid marring this as it will affect the reassmbled product

Step 3 – Use the pointy end of the tool to carefully remove the three white inserts. This part is easy – but if you get it wrong it will be VERY hard to get the underlying screws out! Tip: push on the far side of the squishy insert to cause it to rotate, then you can carefully tweezer it out.

Step 4 – Use a small screwdriver to loosen the three phillips screws. Yes – only three; if Wyze had a fourth hole and screw the price would be much higher.

Step 5 – Carefully insert the spudger in between the white case and the black front. This is the trickiest part! You don’t want to damage the red moisture seal just underneath the black front. To avoid damaging it, do not repeatedly pry at the black front – instead get the tool just under the edge and lift.

Step 6 – Once you have carefully lifted out the black portion the electronics slide out easily. The mic and speakers are on the bottom of the assembly. You can use the tool to carefully loosen the connectors. This should allow easy reconnection if desired later.

With microphone and speaker disconnected

Step 7 – Reassmebly. Push the assembly back in the case. Insert the three screws and tighten. Carefully push the white inserts. Re-attach the white rim.

The reassembled product – you can’t even tell it was modified – which is kinda the point!

Comparison of Wyzev3 Sensor vs RPi IMX327

One of the best low-light sensors for the raspberry pi is the Sony IMX327 (available here: https://www.inno-maker.com/product/mipi-cam-327/ for around $90). The wyzev3 offers similar starlight performance for $20 – a fraction of the cost. But how do they compare?

IMX327
Wyzev3

As can be seen, both images capture all the overall scene well. The white balance of the IMX327 was not adjusted leaving the overall scene seeming a bit “warmer” than the wyzev3.

As for detail a few important differences pop out:

  • The wyze seems to saturate around light sources. Especially pronounced near the streetlamp and the car’s break lights.
  • The wyze has a slightly wider field of view
  • The wyzev3 doesn’t seem to capture some detail, such as the lettering on the stop sign, as well as the IMX327 – this is especially apparent when zooming in on the full size image.
  • The wyze seems better at keeping details crisp in “busier” sections of the scene – examples include the ground around the forest on the right of the image
  • The wyze seems to suffer more motion blur. I believe that the wyze acheives some of its performance by combining multiple frames. This improves low light performance but smears together details.

While the IMX327 seems to have potentially better quality, cost almost hands the victory to the wyzev3. By the time you add a fully-equipped pi4 to the IMX327 your cost is close to $160. Cutting that in half you could point four times as many wyze cameras at the problem and have vastly better combined video coverage. Add to this the wyzev3 includes IR-LEDs (near and far), microphones, a speaker, and can be set up by a non-PhD.

The only caveat here is that wyze3 is a “closed” product. Unless open source firmwares can be loaded on it, it will never be as secure as the pi solution – users of wyzev3 are at the mercy of wyze to protect their data. To this end there is some hope that wyze will release an RTSP version of their firmware, as they did for their v2 product.

Why a Tesla Model Y Is The Best Car Ever

Lots of people have opinions. These are mine as to the supremecy of the model y:

  • Purchase experience. In case the entire world has not clearly understood what the past 20 years has increasingly shown: people would rather order online in person. Let that sink in deeply if it causes you pause. Here’s how Tesla makes that work:
    • You can test drive a tesla – this is entirely optional. I test drove a model S and model Y before deciding sedans are the worst and the Y, being “not a sedan”, is good for me. I am now convinced all the test drive did was excite me make the purchase – however i now know, as will be described next, that this was entirely unnecessary.
    • When you go to pick up your car a few weeks later (took 4 weeks for me, at a time when tesla was advertising 6-8), you spend ~1 hour inspecting the car and ensuring the title is transferred. Better yet, you get the car for 1,000 miles or 7 days (whichever comes first) – then you can send it back at zero cost. This is an amazing deal. I’m not sure you get that kind of a guarantee with any major car company.
    • Tesla will fix any delivery-related issue at no cost. When i accepted delivery I noted some superficial items that needed fixed:
      • Greese from seat on rear carpet. Tesla tech cleaned it up on
      • Scuffed portable charger. The charger looked like someone had been carrying it around in their (large) pockets for a few weeks. The tech switched it. I didnt like the one he found any better so he switched it again. The guy was VERY accomodating.
      • Windshield washer fluid connector was disconnected. I didn’t discover this until AFTER i drove home, but thankfully the connector was under the hood and i simply stuck it together
      • Paint missing on bolts around rear liftgate and front doors. I didn’t notice the liftgate bolt problem until recently so i have not bothered to fix it, but the paint on the front door bolts was fixed on the spot during delivery.
  • Service. After accepting delivery I noticed a few issues: Tesla came TO MY HOUSE and fixed them at zero cost. Turns out they had to come twice due to missing parts. The issues they fixed were minor:
    • There was a scratch on part of the passenger sun visor. They replaced it
    • The inner liner had slumped down (near sunroof). They reconnected it. If it happens again they recommended taking it in.
    • The weather seals around the back doors were detaching – they put on new ones
    • The Tesla floor markers inside the front doors were wiggly – they removed them and put new ones on
  • Autopilot.
    • Having autopilot on is best described in one word: soothing. Its like having a buddy drive for you – almost. You do have to let autopilot know you’re not asleep by jerking the wheel every 15-30 seconds, but even then your roll as driver is more as a supervisor of a much more aware computer. It has more eyes, including sonar and radar, and keeps track of 1) what is around you, 2) where you’re going (your route), 3) and when you need to fuel (it even picks where you should stop to supercharge)
    • At least once autopilot saved me when i became drowsy. Good lukc getting that in a normal car
    • It does an excellent job on highways – making complicated interchanges correctly where I as a human have failed.
  • Speed. While tesla does sell a performance model Y, the standard long range left me feeling like i was manning a rocket ship. After a month of driving the tesla i went back to our other gas powered car. I used to think it was a fast car – but it feels like a joke compared to the tesla. Im convinced if i were raised on teslas and then asked to drive any standard gas powered car i would think it was broken – it doesnt even appear to accelerate compared to the tesla.
  • Charging. There are two main components here:
    • Supercharging. I took a trip across the country to see the how the Y and supercharger network would do together. It was absolutely a pleasure; we ALWAYS had enough energy to make it between superchargers. The only problem we found was coming back from UT, we wanted to drop down to Nauvoo, IL, however we were on HWY 80, and the only way to hit Nauvoo and keep on our trip was to drop straight down from Davenport, then go back to Davenport. The better, time savings route would have been to drop from 80 to nauvoo, then continue on HWY 74 – however this was not possible as there wasnt a supercharger near enough to let us continue on this route; so we ended up ditching nauvoo. Moral: while the superchrger network is currently very good, it needs ot be several times larger – kind of like the network of gas station.
    • Home charging. I spend seconds connecting my charger to my wall at home. No more gas stations. No more oil changes. The best.
  • Being part of the future. I love time/life-saving technology. There is nothing more human, in my opinion, than trying to improve. The tesla is like a breath of fresh air to an industry that hasn’t changed much in a generation. It is layers of improvement all at once in a single impressive package. It hits on several themes:
    • Less is more. As in less buttons is more better. My odyssey has over 60 buttons in the front. The tesla has 6ish – 4 for windows, 2 for the door locks. Everything else is on that one big beautiful screen.
    • Audio commands that work. I can tell it to navigate, call people on the phone, send text messages, all while NOT diverting my eyes from the road if i dont want to.
    • Over the air updates. I have received one update every week or so, improving things such as efficiency, autopilot, etc. I truly feel like the car is getting better as i own it.
    • Electricity vs gas. Other than the fact that it takes a lot longer to charge than to get a full tank of gas, tesla has shown the model Y is superior in almost every way. While we clearly have a long ways to go – maybe faster superchargrs or longer-range batteries would help – for most people their daily commute is entirely drivable with the model Y today, where the recharging is done overnight at home.

As I was contemplating purchasing a new odyseey or the model Y I wasn’t sure if the model Y would be as good as the odyssey. I took a risk on the model Y. After the past few months I now have the opposite view: there is no way anyone could tempt me to sink a dollar into a new gas powered car. The features gas powered cars offer are fairly irrelevant – fancy interiors and updated trims. But who wants to smell gas odors in their garage just because you had to move your car? Who really wants to go to the gas station or have their oil changed? Who really wants to visit a dealership to find a car? Or to take it to a repairshop to fix its vastly more complicated (and, from personal experience, breakable) interiors? Not I.

In short: the big car makers approach (end to end) is leaving the gas powered industry in Tesla’s dust. My message to them (in case they’re reading this humble blog): be like Tesla or you’re going to die.