Bluetooth Scanner With ESPHome and an ESP32

This is a super-simple one, but took some searching to find it. Add the following config to an ESPHome device and deploy it, and it’ll spam regularly in the logs every BLE device it sees. You need an ESP32 (because they have bluetooh) and it uses the esp32_ble_tracker module. esp32_ble_tracker: text_sensor: - platform: ble_scanner name: "BLE Devices Scanner" Pretty simple, spams shit out of the logs with what’s going on every time it finds something. [Read More]

Fuzzy Power

So, I get a weird “buzzy” or “fuzzy” feeling when using things connected to a USB charger, unless they’re good quality grounded devices. And yes, this includes Apple’s devices, until I use the “extension cable” which is a three-prong grounded cable. There’s a small difference on those Apple cables - inside the “mating” connector are ground tabs which connect to the “lug” on the power brick. It’s a little hard to see, but if you squint you can tell the difference. [Read More]

Unable to Run Search While Using map Command in Splunk

Sometimes errors are just a little too confusing for me on a Monday. I was trying to run the following search: | makeresults 1 | eval cheese_id="12345", index="cheese" | map search="index=$index$ cheese_id=$cheese_id$ sourcetype=cheese_info" | table cheese_id, name, description And couldn’t work out why it was throwing the following error: warn : Unable to run query index=cheese cheese_id=12345 sourcetype=cheese_info | table cheese_id, name, description. Turns out that if I’d squinted a little harder at the example in the documentation, I’d have realised that I need to prepend searches with search. [Read More]

Writing Rust-style Python

This post by @kobzol highlights some good methodologies for writing Python in a more defensive manner. I learned that typing.assert_never allows one to inform their IDE/type checker about code which should be unreachable. Similarly, simpler Union typing and the existence of the pyserde package make for more powerful access to data - but I’ll have to test serde against the venerable pydantic which has been my go-to for the longest time. [Read More]

Structures Are Not Supported for XSD `simpleType`s

I was trying to parse some XML (well, Atom, but you get it)… and started getting this while using the rust quick-xml crate.

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Unsupported("structures are not supported for XSD `simpleType`s")', examples/
[Read More]