<p><img src="uploads/2024/dsc00865.jpg" loading="lazy"></p>

February 27, 2023

February 27, 2023


Camera: SONY ILCE-7RM4A
Lens: FE 85mm F1.8
Focal Length: 85.0 mm
Aperture: f/10.0
Shutter Speed: 1/500
ISO: 100
Exposure Compensation: -2

Download Full Size

View all photos in Grand Canyon


<p><img src="uploads/2024/dsc00863.jpg" loading="lazy"></p>

February 27, 2023

February 27, 2023


Camera: SONY ILCE-7RM4A
Lens: FE 85mm F1.8
Focal Length: 85.0 mm
Aperture: f/10.0
Shutter Speed: 1/500
ISO: 100
Exposure Compensation: -2

Download Full Size

View all photos in Grand Canyon


<img src="https://cdn.micro.blog/books/9780593358849/cover.jpg" align="left" class="microblogbook" s

February 19, 2023

Currently reading: Green Mars by Kim Stanley Robinson 📚


<img src="https://cdn.micro.blog/books/9781101972120/cover.jpg" align="left" class="microblogbook" s

February 19, 2023

Finished reading: Stories of Your Life and Others by Ted Chiang 📚

Very interesting stories in this collection! I enjoyed it.


After much effort (and help from the forums), I was able to get a config working for my backyard wea

February 12, 2023

After much effort (and help from the forums), I was able to get a config working for my backyard weather station.

My station is custom built hardware, and returns a very simple JSON object with its current state when queried.

The json it returns looks like this:

{"timestamp":"2022-03-12 09:35:36 -0700",
 "temperature_c":15.8720368908,
 "temperature_f":60.56966640344,
 "humidity":27.009330285,
 "pressure":965.103717974,
 "dewpoint_c":-3.0690760974329714,
 "dewpoint_f":26.47566302462065}

And this is the Home Assistant configuration I needed to use to get the data into HASS:

rest:
  - resource: http://weather.local
    scan_interval: 60
    sensor:
      - name: Weather Station - Temperature
        value_template: '{{ value_json.temperature_f | round(1) }}'
        unit_of_measurement: '°F'
        device_class: temperature
        state_class: measurement
      - name: Weather Station - Humidity
        value_template: '{{ value_json.humidity | round(1) }}'
        unit_of_measurement: '%'
        device_class: humidity
        state_class: measurement
      - name: Weather Station - Pressure
        value_template: '{{ value_json.pressure | round(1) }}'
        unit_of_measurement: 'mbar'
        device_class: atmospheric_pressure
        state_class: measurement
      - name: Weather Station - Dewpoint
        value_template: '{{ value_json.dewpoint_f | round(1) }}'
        unit_of_measurement: '°F'
        device_class: temperature
        state_class: measurement

Home Assistant is very powerful, but goodness is the learning curve steep. Documentation exists, but much of it is not helpful enough. I should probably contribute back some additional examples, at the least.

(Interesting side note: I asked ChatGPT to help me put together a configuration for this setup. It was able to do so, but the result was inefficient and used an older style of REST sensor setup. Human help in the forums led me to this solution.)


Thought experiment: a lossy compression algorithm that includes noise in the decompression phase. Ev

February 11, 2023

Thought experiment: a lossy compression algorithm that includes noise in the decompression phase. Every decompression is unique. 🤔


I had to play around with the Home Assistant API to figure out how to set the brighness of a dimmabl

February 11, 2023

I had to play around with the Home Assistant API to figure out how to set the brighness of a dimmable lamp. This is what ended up working.

My lamp was setup with brightness as a Number.

curl -H "Authorization: Bearer your_token_goes_here" -H "Content-Type: application/json" -d '{"entity_id": "number.my_lamp", "value": 100}' http://homeassistant.local:8123/api/services/number/set_value

<img src="https://cdn.micro.blog/books/9781368036931/cover.jpg" align="left" class="microblogbook" s

February 07, 2023

Currently reading: The Arctic Incident (Artemis Fowl, Book 2) by Eoin Colfer 📚


> If the CEO of OpenAI thinks that you are a stochastic parrot, then that means that he doesn't real

February 06, 2023

If the CEO of OpenAI thinks that you are a stochastic parrot, then that means that he doesn’t really recognize you as a person. We have a word for that kind of systemic lack of empathy and that word is “psychopath”.

www.jwz.org/blog/2023…


Spent way too much time trying to get my ESP32 board to send data to my mqtt broker. Still haven’t g

February 05, 2023

Spent way too much time trying to get my ESP32 board to send data to my mqtt broker. Still haven’t got it working. Probably should have just stuck with REST. Too clever for my own good.


It turns out that if you set an environment variable named AWSPROFILE, all AWS SDKs (including the C

February 01, 2023

It turns out that if you set an environment variable named AWS_PROFILE, all AWS SDKs (including the CLI) will respect that value when looking for credentials for the current command.

Thanks to my brother, Ben, for pointing this out to me. It cleaned up a ton of boilerplate in some Ruby code I’ve been writing.


<img src="https://cdn.micro.blog/books/9781101972120/cover.jpg" align="left" class="microblogbook" s

January 25, 2023

Currently reading: Stories of Your Life and Others by Ted Chiang 📚


<img src="https://cdn.micro.blog/books/9781503946194/cover.jpg" align="left" class="microblogbook" s

January 25, 2023

Finished reading: Abandon by Blake Crouch 📚

Well written but too hopelessly dark for my taste.


ChatGPT and its ilk may well result in a better experience for searching than Google — for a while.

January 25, 2023

ChatGPT and its ilk may well result in a better experience for searching than Google — for a while. But if you don’t think the shitty incentives that led to Google’s quality dropping off aren’t going to affect these LLMs in the exact same ways, I’ve got a bridge to sell you.


Docker is just terrible. The default options always seem wrong. The error output is often inscrutibl

January 24, 2023

Docker is just terrible. The default options always seem wrong. The error output is often inscrutible. Debugging is a nightmare. This is just poorly designed software.


> This is enshittification: Surpluses are first directed to users; then, once they're locked in, sur

January 23, 2023

This is enshittification: Surpluses are first directed to users; then, once they’re locked in, surpluses go to suppliers; then once they’re locked in, the surplus is handed to shareholders and the platform becomes a useless pile of shit. From mobile app stores to Steam, from Facebook to Twitter, this is the enshittification lifecycle.

www.wired.com/story/tik…

This is it. The last 25 years in a nutshell.


There is no way that the people who work on docker actually ever use docker.

January 23, 2023

There is no way that the people who work on docker actually ever use docker.


<img src="https://cdn.micro.blog/books/9781503946194/cover.jpg" align="left" class="microblogbook" s

January 14, 2023

Currently reading: Abandon by Blake Crouch 📚


Finished Andor. What a show.

January 11, 2023

Finished Andor. What a show.


For months I haven't been able to login to "My UPS" (which is now the only way to get detailed track

January 09, 2023

For months I haven’t been able to login to “My UPS” (which is now the only way to get detailed tracking info). Attempting to login would give me error LASSO_1010. Attempting to reset my password would return an “Application error” and never send a reset email.

The solution (via this Reddit thread) was to install the UPS mobile app, and initiate a password reset from the app. In that case I did receive the reset email, and was able to update my password, and I can now login.