phobiac

joined 2 years ago
[–] phobiac 41 points 1 week ago (1 children)

In God We Trust is also an objectively less cool motto than e pluribus unum which translates to out of many, one. We traded the original ideal of a people united by difference into a boringly generic religious proclamation just to try to stick it to the commies.

[–] phobiac 17 points 4 weeks ago (6 children)

This is an extremely weird take.

[–] phobiac 18 points 1 month ago* (last edited 1 month ago) (8 children)

The average human has somewhere between 1.1 and 1.4 testicles.

Late edit: I was not sober when I wrote this and I definitely did the math wrong.

[–] phobiac 13 points 1 month ago (2 children)

The modern definitions of units feel even more arbitrary because they are inextricably tied to more organic origins. Consider the often made fun of fahrenheit scale which was the first to define a reasonably repeatable degree size by using two widely available reference points as the 100 and 0 ends of the scale, human body temperature for the high end and an ammonium chloride ice water mix for the low end.

The definition of a second was a bit jankier. Etymologically the name comes from a second hand added to a watch face to give some kind of indicator that the minutes are passing by. NIST has an excellent writeup on this subject. Over time different repeatable ways to measure a second have been determined all with the goal of having some action a human could use to calibrate their device's second measurement to so their seconds are as long as everyone else's.

The point is, we didn't choose a second to be defined as some number of atomic oscillations. We had an already agreed upon definition of a second that used less precise methods than modern technology demanded and used a natural phenomenon that could be very accurately measured to make a less arbitrary definition.

[–] phobiac 15 points 1 month ago (5 children)
[–] phobiac 6 points 2 months ago (1 children)

I wasn't super clear but that's what I was referring to with the "tried to kill people, and helped feed people instead".

When he tried to feed people he came up with what eventually was used to make Zyklon-B.

[–] phobiac 14 points 2 months ago (3 children)

He tried to kill people and ended up helping feed the world, then he tried to feed people and ended up helping the Holocaust. The guy is a fascinating historical figure but definitely a was a monster.

[–] phobiac 14 points 3 months ago (1 children)

I'm trying to word this kindly yet directly, but the whole chain of additions you've done is messed up.

If you just want working code then try the examples in this post but note that you can edit template sensors in the GUI now so directly editing the config file isn't needed. https://community.home-assistant.io/t/trying-to-show-how-many-lights-are-on/527089/12

For an actual explanation of what's going wrong with your code I'll start with this bit, which will not work as written and when fixed doesn't do what you currently are intending it to do.

I highly suggest reading through this page of documentation while looking over this as it will clarify a lot better than I can.

{{ (states.switch | rejectattr('attributes.light.lamp_left', 'defined') | selectattr('state', 'eq', 'on') | list | count) }}

I'd like to work through this backwards:

count is, as the name implies, counting. It'll take an input and then spit out a number. In this case, it's going to count the members of a list piped into it from...

list takes an input object and converts it to a list. In this case it's creating a list from the output of...

selectattr() is a way to filter an input object based on some criteria. For this we're filtering the input for only objects with an attribute named state whose value is equal to on. The result should be a group of entities that have a state listed as on. The input it's filtering from is...

rejectattr() is basically the same as selectattr(), except it removes based on the filtering criteria and outputs everything that didn't match. This is where your code is failing, and it's actually not even necessary for this single line to work. I'm assuming you saw example code that used attributes.entity_id and then you replaced the entity_id portion with your targeted entity. This is failing because the rejectattr() filter is looking for the name of what attribute to filter on and its state. This portion is actually doing absolutely nothing even if it's working, as far as I can tell, because as originally written it would just remove any object with an entity_id named defined. That all said, it's filtering input from...

states.switch, which is a way to reference and get the state result of every entity in the switch domain. There's a whole section in the HA documentation I linked about states and how to get them for templates that is very relevant to what you're doing. In this case, unless your lights are set up as switches, you'd actually want to use states.light.

The end result if you follow this advice will instead give you a single line that counts all lights currently turned on, so no need for adding them all together like your original code. If you only want to know the states of a specific group of your lights then see the forum link from the top of my post that shows how to manually write a group into the template, or alternatively create a helper group in the GUI and reference that.

[–] phobiac 1 points 5 months ago

As I understand it, yes it was a saturated solution.

[–] phobiac 1 points 5 months ago

You're totally correct that Celsius is the more sensible scale with easier to replicate reference points (when using water). It was also invented almost 30 years after the Fahrenheit scale and with all the insights gained from that period of technological advancement. In fact in the modern day the Celsius degree size is defined in reference to the Boltzmann constant since Celsius is essentially the Kelvin scale with the numbers moved around.

It also used 100 as the freezing point of water and 0 as the boiling point when originally proposed, which changed after Anders Celsius died because everyone knew that was a weird way to do it.

[–] phobiac 8 points 5 months ago (5 children)

It makes no sense because that's not what the 0 of the Fahrenheit scale is. The 0 point is the coldest an ammonium chloride brine mixture can be cooled to. The 90 point was an estimated average for human body temperature (it was adjusted up over time). These were chosen because the goal of the scale was to provide a way for people to have a defined temperature scale with a range and degree size that could be reliably reproduced without passing around standardized tools. 100 is really hot because human bodies were used as a reference for the high end, but the low end has nothing to do with the human body.

view more: next ›