Why We Cannot Have Nice Things: Comment SPAM

Just finished trashing 183 spam comments.  The spam techniques were interesting – some used flattery to try to disguise the spam, others were just flat out proud of their spam.  I could install comment filtering tools, but that’s work and cost.  Time to change the comment settings.

BMW S1000R Accessory Light Flasher – First Prototype

I built this about a year ago.  I prototyped a circuit that used an ATTiny85 microcontroller to drive a p-channel (high side) mosfet.  The idea was to use the microcontroller to strobe the Clearwater Darla LED accessory lights.

The circuit worked as expected, but that click-click-click-click noise is bad. I thought the functionality of the led “instant-on” was via a 12v signal to the dc-dc circuit in the led light, but it is actually a mechanical relay. Strobing anything mechanical is no bueno.

I  completely changed my strategy after this test.  A little experimenting and I discovered that the accessory lights are controlled by a PWM signal which controls the light intensity (low to full power).

Rigol Oscilloscope i2c Bus Decoding

I built a weather station last year. Even though I sprayed a conformal coating on the PCB to help it resist humidity exposure, the temp/humidity/barometric pressure sensor flaked out from exposure to the elements.  While fixing it, I decided to “geek out” a bit and hook the oscilloscope up to decode the i2c bus messages.  My notes for reference.

High Level:

  1. Connect probes, make sure they are setup correctly (10:1, etc.). Then set vertical scale and time-base.
  2. Set the triggering conditions to match the signal encoding
  3. Set the decode conditions to match the signal encoding
  4. Optional – use the event table to capture and export the data

Connections
Channel 1 probe to SCL (Clock)
Channel 2 probe to SDA (Data)

Scope Config
Set to 2v/div, 100us
Trigger – i2c, SCL->Channel 1, SDA->Channel 2, When->Start, Sweep->Auto
Decode – i2c, BusStatus->On, SCLK->Channel 1, SDA->Channel 2, SCL Threshold->1.80v, SDAThreshold->1.80v, Format->Hex (whatever is appropriate)

Enable the event table if you want to capture data which allows you to also export the data to a usb drive.

Microsoft Azure Sphere

IoT might be an over-hyped trend, but for ~$8 retail I can buy a EPS8266 NodeMCU board that has built-in WIFI.  Moore’s Law and accessibility will continue to drive costs down, which means eventually all manufacturers will experiment with IoT products.  Why?  Because the data that can be captured is extremely valuable and can be monetized.  One downside is these SoCs do not have any hardware protections where you can stash secrets, such as a code signing key.

For example, when I created the garage-o-matic to monitor and open/close my garage doors, I started looking at how to secure the firmware beyond a simple password.  Ultimately, I would have had to build some additional custom hardware if I wanted to stay in the hobbyist IoT space.

I like the general idea of including some sort of hardware security system, which the Azure Sphere chip is calling “Pluton.”  But what is really telling is Microsoft supporting this ecosystem with a Linux distribution.  I’ve mentioned this before that Microsoft is becoming a cloud-first company, and this really drives that home.  Build whatever you want, using the tooling you want, get even faster time-to-market if you use Visual Studio/Azure boilerplate, and run it on Microsoft’s Azure cloud.

https://azure.microsoft.com/en-us/blog/introducing-microsoft-azure-sphere-secure-and-power-the-intelligent-edge/

HF Voyager Reception

The HF Voyager is an autonomous Wave Glider (drone) traveling from Hawaii to California.  What’s fascinating is the JRFARC club has included a low power HF radio as part of the payload.  The Elecraft KX3 radio only puts out a max of 10 watts (and they’re probably running lower power than that) and I was able to receive the FT8 mode transmission with a simple magnetic loop antenna connected to my Anan 200D HF radio 1600 miles away.

FT8 Reception Report

Heath and Happiness on an Index Card

Over a year ago, I decided to make big changes in my life, take some time off, and invest in myself, especially my health.  I did a bunch of research and ran “mini-experiments” (aka “hacking” myself) to test out different things: how food affected me, how exercise changed my hunger, types of exercise, etc.

A while back I stumbled across an index card with financial advice by Harold Pollack.  It was brilliantly simple as it was effective – very simple advice that is easy to follow and will positively impact your financial well being over time.  So in the same spirit I’ve decided to write down simple things I’ve done that have dramatically transformed my health and happiness.  There”s no “good” vs. “bad” or “right” vs. “wrong.”  These are just some guidelines/suggestions for things to try.

Enjoy.

Simple Health Tips on an Index Card
Simple Health Tips on an Index Card

Wizbangadry

I met up with one of my peeps for lunch the other week.  We’re chatting about stuff, then we started talking about coding.  We have a nice rivalry – I’m very much about the “art and craft” of software engineering, and he’s all about using the latest/greatest to build stuff.  I call B.S. on his shinny new, and he calls B.S. on my old and crusty.

Me: “Dependency Injection used to be your jammy jam. You told me that my code sucked because I called a constructor directly.  So what’s your newest hotness?” Continue reading “Wizbangadry”

BMW S1000R Motorcycle CANBUS Hacking

My BMW S1000R motorcycle is my favorite bike so far. I like everything about it except the headlights – when I turn on the high beams, both bulbs stay on, then after a few seconds the low beam turns off.  Arg!!!! I want as much light as possible.

I have a factory service manual (FSM), but the FSM doesn’t have any wiring diagrams or technical information about the CANBUS.  I’m going to have to hack it and I’ll show the steps I used to figure out the wiring.  However this comes with a disclaimer – use this at your own risk. Messing around with your CANBUS can be life-threatening and could cost you a lot of $$$ if you break a controller. Continue reading “BMW S1000R Motorcycle CANBUS Hacking”

Progressive Web Apps and The Microsoft Store

Welcoming Progressive Web Apps to Microsoft Edge and Windows 10

Microsoft announced that Progressive Web Apps (PWA) will be added to the Microsoft Store (the “Store”).  This means just like a native app (or Universal App in Microsoft Store parlance), you can build a PWA app and have that added to the Store.  From a developer perspective, this is great.  A PWA app in theory should be much more cross-platform than a native app.  But what I find more interesting is thinking about the “why’s” a company would do something.

The big tech companies have been battling for years.  When you are building your business, trying to navigate the cesspool of technologies is a challenge.  You have to be careful of betting on a technology that could get dropped when it isn’t a strategic fit anymore.  Remember a thing called Silverlight?  As developers, we know its possible to have standards and the Web has been that shinning light.  But Apple, Google, and Microsoft all have different objectives.  Unfortunately, rather than evaluating a technology on its technical merits, it’s actually more important to evaluate it on the viability of its long term success. Continue reading “Progressive Web Apps and The Microsoft Store”

Messy Workbench

Messy Workbench
Messy Workbench

This is a picture of my workbench and some gizmo I was making last year.  I originally wanted to be an electronics engineer.  However, back in the dark ages of the 80’s, hardware geeking was much harder than today.  The cost of the test equipment was prohibitively expensive and way outside of my reach.  Access to parts was usually limited to what you could find at Radio Shack.  If you wanted broader access to parts, such as CPUs, memory, or other integrated circuitry your best bet was to ask for engineering samples.  I was a young starving student and I did not have the money nor patience required to get into hardware, so I shifted to software. Continue reading “Messy Workbench”