The LED bulb project: an autopsy on some failures

So last year I installed a whole lot of LED bulbs. Power dropped off, great.


One area that got new bulbs was the porchlight. This was 2 sconces, outdoors but covered (both covered by the overhang and covered by the sconce). So not a 'wet' environment per se. Into this were installed a pair of 'corn-cob' lights.

Fast forward a year and they have both failed. So, lets have a quick look.

First, we discover that the 'open' nature of these bulbs (let the heat out) allows a variety of small inects in. Nice. Crusty.

Now lets look inside.

Um, yes that is the high-voltage power supply just flapping around. The tape is just to lightly insulate it from the metalised plastic sides. No structural support. Great. It was more or less supported by those two wires that were tacked to the bottom to a could of pads. Hmm.

Now, i'm not sure what output voltage that supply is meant to give (e.g. the parallel/series arrangement of the LED's). My bench supply only goes to 30V and that was not enough to light (so either we have burnt-out LED in series, or >30V). If we count the LED, we se there are 15 per row, my guess would be all in series.

Let's have a closer look at this supply. Its not a capacitive dropped, and it is isolated galvanically by the transformer (but not really by the tape, and there are no cutouts on the PCB). The soldering looks kinda crusty, so the board was not likely cleaned. Of course, it has been somewhat out side, so that could be garden variety rust too... No conformal coat here.

the writing on the IC is a bit hard to make out, 'TROWER'(?) TP8533A maybe? its below if you want to have a shot at CSI-enhance. (update: datasheet attached).

the meter suggests maybe this is 5S3P arrangement, so ~10-12V output?

O well, bought another two. These are not that cheap (in $). Hmm.

Stack overflow says I am the 1%

Stack Overflow has just released their survey. Turns out I am the 1.0%. If you are in the 20.5% and looking to trade, I'm game.

The mysterious cat feeder of the 101

Last year I wrote about the mysterious feeding setup at the 101/Millbrae Ave overpass. It looks very lush and tropical and isolated in the below picture: its not. This is a very industrial location beside an airport and major highway.

After many days of walking over this bridge and peering down at the feeding setup (its large, ~10 feeders, a few boxes, etc), today I spotted a customer. That little blob of white fur.

I'm not sure who's trekking across all the traffic and 'reclaimed water ponds' to get there, but, well, it seems you have at least one happy customer.

Quick and dirty real-time sync of local dir into a container (perhaps in Kubernetes)

OK this is a bit of a hack. But lets say you want to be editing files in a directory. Each time you write one, you want it synced into some container. This is obviously for development purposes. Well I present the below hacklet. It uses the inotifycall of Linux, watching the current directory. Each time a file is written, in my example, it calls docker cp. Feel free to make that kubectl cp or another action.

Warranty void where prohibited.

inotifywait -m $PWD -e modify | while read path action file
  echo sync $file
  docker cp $file CONTAINER:PATH/


The sad SaaS state of software sufferin’ succotash

Recently I was looking to add OAuth2 login to my wordpress system.

Side note: when you see an icon 'sign-in with Google/Github/...' on a site, please use that, rather than creating a new account. The protocol is called 'OAuth2'. Its not (usually) giving that new site permission to read your gmail, rather its allowing you to federate and use less logins.

Back to the story. I was looking to add OAuth2 to my wordpress. I wanted to handle a few different logins (Google, Github, Linkedin being the minimum). This is not overly complex, I was not expecting trouble. A couple of hours later of looking at a bewildering array of plugins, all of which had 2 or more of these properties:

  • Some freemium approach where the part you wanted is not available, the yearly cost is high, and its not obvious they will stay in business
  • There is a SaaS component you are delegating to that now owns your site
  • Has not been updated in 4 years

Sigh. So I picked one (miniOrange). It worked, I was ready to hit the buy now on $400/yr, when suddenly, the removed it from the wordpress marketplace. No reason given. This one used a SaaS component so I was instantly broken.

Enraged, I wrote the attached, on Github. Its certainly not great. Its not even good. But it works, I've made it free (as in speech, also as in beer). It uses only your site, no 3rd party site is involved in the OAuth2 dance with your credentials. And, more importantly, I can now improve it. And so can you, pull requests welcome.