If you are using Go (which solves most of your dependency problems) and SQLite (which means you don't need to integrate with an external database via service discovery) why do you need Docker at all?
attrs classes still have several features that dataclasses don't, and likely never will, [like validators and converters](https://www.attrs.org/en/stable/why.html#data-classes). So it's not obsolete, particularly for anyone already relying on those features.
Heat pump models usually have a resistive element for use when the heat pump can't keep up, or when the climate doesn't cooperate. Then you benefit from the efficiency whenever possible. (Here in coastal CA I have mine set to only ever use the heat pump since the climate is so mild.)
The up-front cost of a heat pump is definitely an issue. IMO we should be doing instant rebates to even out the cost between the two so that it's an easy decision.
My heat pump water heater is at 140F all the time, maximizing the banked energy. There's an outboard mixing valve to reduce this to a safe temperature in the house.
Those are definitely not substitutable. In addition to the difference in glues the peer comment notes (the oak plywood will likely delaminate if exposed to moisture), you need to sheathe a house in a product rated for that use. That oak veneer doesn't have a span rating stamped on it, so any inspector would fail you.
> I disagree... you could always leverage six and/or do conditional imports based on sys.version
Sure it was possible, but what benefit would doing all that work get you? More memory use! It wasn't until Python 3.5 that Python 3 was clearly better for most use cases. Even today the regression import performance is problematic for CLI tools.
The core problem with strings in Python 2 was implicit coercion: you could mix `b''` and `u''` strings pretty freely as long as they only contained ASCII and they would be silently converted as required. Once you leave the ASCII range you start to see data-dependent bugs.
To gracefully deprecate this behavior, you could start by generating a warning each time an implicit coercion is done. Next, make implicit coercion raise an exception, but provide a way to suppress it. Finally, remove the ability to suppress the exception.
As the GP suggests, you'd do well to similarly deprecate unprefixed strings.
This would all be pretty confusing to explain if you were renaming the string types at the same time, as Python 3 did. I think that's an indication that you shouldn't rename the types. You could deprecate `str` and just use the names `bytes` and `unicode`, which go nicely with the `b''` and `u''` mnemonics anyway.
Python 3 also changed the type of string used for Python identifiers. You'd need a strategy there as well.
It might be convenient to have some type-checking `dict` variants in the stdlib, but I think it's a separate issue from addressing the coercion issue.
Yes, absolutely. I'd add that this area loves its urban growth boundaries, so the only way to add lots of housing is to build up. This makes the carve-out in SB-50 for counties with a population under 600,000 problematic, in my view.
Yeah, they are blocking a transit corridor. On a floodplain. It's not good.
And I agree --- the county response has not impressed. In that sense it's actually great that the encampment is in such a prominent location. The county can't keep playing their inhumane game of whack-a-mole. They have to actually do something.
The SMART financing situation is certainly a mess, but I don't think that it's reasonable to expect revenue neutrality from a public transit agency. I think it's reasonable for it to see a public subsidy proportionate with automobile infrastructure. However, I am personally very frustrated about the gaps in the bike path.
I'm mostly inclined to blame the situation on the ridiculous way we fund transit development in this country. Everything is funded from a mix of sources --- local, state, and federal --- and the federal funds are often "matching" funds. So SMART has to carefully break projects into bits to match the available funds and grant criteria. It's ridiculously inefficient. But of course, this complaint isn't really actionable given the political gridlock at the national level.
Thank you for being an informed and thoughtful presence in this thread!
I don't expect that you intended it this way, but be aware that the way you've phrased the question is likely to offend --- homelessness is complex and most homeless folks aren't criminals.
Weird is certainly the word for it. The SF real estate catastrophe is pushing up prices here, particularly the south end of the county, while (in the small tech scene at least) salaries haven't adjusted. I've lived here since 2011 but I don't think I would start here today. But of course, anyone who bought a house 20 years ago is just fine since their costs are fixed. Renters and recent buyers pick up the tax bill. Thanks a lot, Howard Jarvis Taxpayers Association!
> The Licensee hereby agrees, without the prior written consent of Cognitect, which may be withheld or conditioned at Cognitect’s sole discretion, it will not: [...] (j) publicly display or communicate the results of internal performance testing or other benchmarking or performance evaluation of the Software; [...]
Have you checked out https://www.habitat.sh/? It has a gossip-based discovery/coordination layer. I've been meaning to give it a try --- I too have Docker fatigue.