HN user

ttwwmm

86 karma
Posts0
Comments26
View on HN
No posts found.

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?

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.

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.

Rust 1.42 6 years ago

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.

Rust 1.42 6 years ago

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.

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!

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!

(Seriously, Prop 13 is awful policy.)

For the unfamiliar:

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; [...]

https://www.datomic.com/on-prem-eula.html

I.e., the Oracle approach.

I have a mid/high-end Bosch and find that the dishes end up much dryer if you crack the door when the cycle completes. This is particularly important for plastic stuff like tupperware. It doesn't have a heating element, so it's best to expose the dishes to non-humid air while they are still hot.

The interaction with the equalizer sliders isn't quite right. Once you grab any slider, you should be able to move the mouse horizontally to affect the rest (draw the curve you want with the mouse).

I learned JavaScript by implementing a similar project which gets this detail correct: http://freecog.net/2005/jsamp/demo/MainWindow.xhtml

(It is quite amusing to read the release notes: "SVG features (the equalizer display) requires Deer Park Alpha 1 or later (Deer Park is the codename for Firefox 1.1, to be released in September).")

Rendering of reStructuredText disappeared in GitHub Enterprise ~6 months ago... I wonder if the reasoning was the same. More limited resources in the GHE VM environment?

The use of <(..) is really weird here... why not just pipe dns-sd to the while loop?

    dns-sd | while read -r line ; do
        ...
    done
Sure, you won't be able to accumulate the output for the trap, but you shouldn't need to---this is stream processing!

Consider replacing the while loop with awk. This sort of thing is exactly what awk is good at:

    BEGIN { FS = " "; count = 0; }
    NR > 5 {
        count++
        print
        if ($3 != "3") { exit; }
    }
    END { printf("%d hosts found\n", count); }
You could also do it with GNU sed (you'll need the q or Q command for early exit, and that's a GNU extension---no idea if it's available on OS X).