HNHacker News
TopNewBestAskShowJobs

timmaxw

555 karma · joined July 25, 2011

submissionscomments
timmaxw··on When tech says ‘no’
> pushed back hard on pretty much any sort of regulation and oversight

I think there's a selection effect going on here: If tech and politicians agree that some policy is a good idea, then tech does it voluntarily, so no regulation is needed. The only cases where it becomes a matter of regulation are the cases where tech and politicians disagree.

For example: Remember the privacy discussion around COVID-19 exposure-tracking apps? If the exposure-tracking apps had been implemented in a naive way, they would have been incredibly invasive to privacy. But tech proactively figured out good solutions to the privacy questions, so it never became an issue. If some politician _had_ proposed regulation saying that exposure-tracking apps needed to protect privacy, then tech wouldn't have pushed back, because that's what they were already doing anyway. But because tech was already doing it, politicians didn't propose the regulation.

So, because an issue never becomes a matter of regulation unless tech pushes back on it, it ends up looks like "tech pushes back on all regulation".

Furthermore, in the cases where tech and politicians disagree, the politicians haven't always been right. For example, GDPR cookie banners are a joke. California's AB5 law is another example, as the original article mentioned.

So, I don't think "boy who cried wolf" is a fair analogy. Tech companies aren't always right, but it's not as if they're automatically opposed to all new policies; and when they do oppose politicians' proposed policies, it's sometimes for good reasons.

timmaxw··on FreeBSD replaces bubblesort with mergesort on SYSINTs
For people (like me) who are wondering why a kernel needs to boot in under 28ms: It's for virtual machines that get launched on-demand in services like AWS Lambda. https://www.daemonology.net/blog/2022-10-18-FreeBSD-Firecrac...
timmaxw··on Mortality patterns for patients hospitalized during cardiology meetings (2016)
Summarizing:

> In teaching hospitals, mortality was lower among high-risk patients with heart failure or cardiac arrest admitted during meeting dates (P < .001) No mortality differences existed for low-risk patients in teaching hospitals or high- or low-risk patients in nonteaching hospitals [or high-risk patients with AMI in teaching hospitals]

So in the specific case of teaching hospitals with high-risk patients with heart failure or cardiac arrest, the normal treatment is making things worse.

Outside of that special case, the cardiology meetings don't seem to have any effect (positive or negative). This could mean that the normal treatment is useless. Or it could mean that the hospital is doing a good job of planning around the cardiology meeting -- e.g. delaying non-urgent treatment until the next day, while ensuring there are still enough doctors on staff for the urgent cases.

timmaxw··on Zenbleed
It allows the attacker to eavesdrop on the data going through operations like strcmp(), memcpy(), and strlen(). (These are the standard functions in C for working with strings; and many higher-level languages use them under the hood.) It works on any function that uses the XMM/YMM/ZMM registers.

It's stochastic; the attacker randomly gets data from whatever happens to be using the XMM/YMM/ZMM registers at the time. So if the attacker could eavesdrop in the background constantly, they might eventually see a password. Or they might be able to trigger some system code that processes your password, then eavesdrop for the next few milliseconds.

The attacker needs to run code on your machine. Unclear if running code in a web browser is sufficient or not. It requires an unusual sequence of machine instructions, which isn't necessarily possible in JS/WASM, but 'sounds' says they did it: https://news.ycombinator.com/item?id=36849767

timmaxw··on Arduino Uno R4
It's neat that they've added a Qwiic-compatible connector. I've been impressed with how many Qwiic peripherals Sparkfun has released, so I'm glad to see it getting more traction.
timmaxw··on Moderation strike
Scott Aaronson has worked on this with OpenAI. Ctrl-F for "watermarking" in https://scottaaronson.blog/?p=6823. I don't know if they've actually deployed it in ChatGPT or not.
timmaxw··on San Francisco Homeowners Lose $260B in Value
In 2018, the SF median household income was $97k [1], which suggests a median individual income of about $76k [2]. An average private-sector employee receives benefits worth 42% of their wages/salary [3]. So a hypothetical median SF worker earning $76k in salary would receive about $32k in benefits, for about $108k total.

So it seems to me that the "pooper scoopers" combined salary+benefits of $184k really is, in fact, extraordinarily high.

(No comment on the rest of the article.)

[1] https://www.businessinsider.com/weath-maps-cities-san-franci...

[2] https://www.census.gov/content/dam/Census/library/publicatio... (I took the nationwide ratio of "$71k median household income" to "$56k median individual full-time year-round worker income" and estimated that the same ratio also applied to SF.)

[3] https://www.bls.gov/news.release/ecec.nr0.htm

timmaxw··on Supreme Court Rules Companies Can Sue Striking Workers for 'Sabotage'
The specific rule applied by the Supreme Court was:

> The National Labor Relations Board [NLRB] has long taken the position—which the parties accept—that the NLRA [National Labor Relations Act] does not shield strikers who fail to take “reasonable precautions” to protect their employer’s property from foreseeable, aggravated, and imminent danger due to the sudden cessation of work.

The rule is nuanced, and courts have considered the case of perishable goods specifically. See my other comment https://news.ycombinator.com/item?id=36178491

timmaxw··on Supreme Court Rules Companies Can Sue Striking Workers for 'Sabotage'
Thanks for the clarification -- I updated my comment. (I am not a lawyer!)
timmaxw··on Supreme Court Rules Companies Can Sue Striking Workers for 'Sabotage'
A few quotes from the Supreme Court documents (https://www.supremecourt.gov/opinions/22pdf/21-1449_d9eh.pdf):

> The National Labor Relations Board [NLRB] has long taken the position—which the parties accept—that the NLRA [National Labor Relations Act] does not shield strikers who fail to take “reasonable precautions” to protect their employer’s property from foreseeable, aggravated, and imminent danger due to the sudden cessation of work.

> the Union argues that “workers do not forfeit the Act’s protections simply by commencing a work stoppage at a time when the loss of perishable products is foreseeable.” If the mere risk of spoilage is enough to render a strike illegal, the Union insists, then workers who deal with perishable goods will have no meaningful right to strike.

> But given the lifespan of wet concrete, Glacier could not batch it until a truck was ready to take it. So by reporting for duty and pretending as if they would deliver the concrete, the drivers prompted the creation of the perishable product. Then, they waited to walk off the job until the concrete was mixed and poured in the trucks. In so doing, they not only destroyed the concrete but also put Glacier’s trucks in harm’s way. This case therefore involves much more than “a work stoppage at a time when the loss of perishable products is foreseeable.”

> the NLRA does not impose a legal requirement that workers give specific notice of a strike’s timing [but] the Union’s choice to call a strike after its drivers had loaded a large amount of wet concrete into Glacier’s delivery trucks strongly suggests that it failed to take reasonable precautions to avoid foreseeable, aggravated, and imminent harm to Glacier’s property

So I think the Supreme Court is quite reasonable in saying that the Union could be liable for the destroyed concrete in this case.

(I don't have an opinion on the jurisdictional question of whether this should be decided by the NLRB vs. a state court.)

timmaxw··on Microsoft broke a Chrome feature to promote Edge
Yes, it's disabled. Evidently the two options are "ask me each time" and "ask me intermittently"; there doesn't seem to be an option for "don't ask again".
timmaxw··on Microsoft broke a Chrome feature to promote Edge
Yep. I use GMail and Safari on iOS. When I open links from GMail, every so often it shows a popup saying "would you like to install Chrome and open this link with Chrome instead of Safari"? It only appears intermittently, not on every link (fortunately), but there's no way to disable it.
timmaxw··on UnicodePlots
> I feel like we are headed towards a split between Electron for end user applications and TUI for portable tools

Another common hack is for a tool to serve a web UI on localhost, like Jupyter or Datasette. If you need to run the tool on a firewalled server, you can use SSH port forwarding to access the web UI.

timmaxw··on Control EMI, Don’t Dump AM Receivers
I think it's important to be able to receive emergency broadcasts, including in areas with no cell service.

Could those emergency broadcasts be moved to FM, though? Or is there something about AM that makes it more suitable for emergency broadcasts?

timmaxw··on Arduino Uno R4
The Uno is one of the best boards for beginners due to its huge ecosystem of tutorials, accessories, etc. But for a long time the Uno was stuck on the same 8-bit core for backwards-compatibility reasons, even as alternative boards offered much better specs. If the R4 can offer better specs without fragmenting the ecosystem, it will be a winner for beginners IMO.
timmaxw··on Show HN: I built an autopilot for the lunar lander game
Yep, it lands safely now!
timmaxw··on Samsung “space zoom” moon shots are fake, and here is the proof
I think you misread the article. What they did was:

1. Use Photoshop to blur a photo of the moon, destroying detail

2. Use a Samsung camera to take a photo of the blurred photo of the moon

3. The camera somehow emits a crisp photo of the moon, including the detail that was destroyed in step 1

It seems like the camera AI detected 'this is a photo of the moon', and used its knowledge of what the moon looks like to add the detail back in. Where else could the camera have gotten the detail from?

timmaxw··on Show HN: I built an autopilot for the lunar lander game
I wanted to go for a record of as many flips as possible. So I boosted up to 25,000 feet; started spinning until it was doing about one flip per second; waited a few minutes; then turned on the autopilot to come into a landing.

The autopilot did a perfect job of stopping the rotation and lateral motion, so the lander came down straight as an arrow. Unfortunately, the autopilot didn't even try to decelerate! I crashed into the moon at 0.9 degrees and 770 MPH.

timmaxw··on Stable Attribution
Maybe I'm missing something, but I don't see human artists doing the form of attribution you're describing. When people post artwork online, or when artwork is displayed in museums, it's normal to credit the artist who did the work, but not the artists who inspired them. (Unless the artist is directly copying another artist's work, or drawing fanart of a character from another work.) Can you clarify what this kind of attribution looks like when human artists do it?
timmaxw··on Stable Attribution
I agree it makes it less likely that people will create novel manual art techniques. By analogy -- when cameras were invented, artists stopped focusing as much on realism. But I don't think that was any great loss. Also, there are some artists today who still make photorealistic paintings, despite the existence of cameras; so I don't think Stable Diffusion will make it impossible to have advances in manual art techniques.

Also, I think we have to weigh that tradeoff against all the new things that will be created if art becomes accessible to 100x as many people. On net, I think Stable Diffusion opens many more doors for art than it closes.

timmaxw··on Stable Attribution
In a world where Stable Diffusion wins the copyright lawsuits, I don't think "artist" would cease to be a profession. Rather, I think the equilibrium would be artists using Stable Diffusion as a tool to automate the labor-intensive parts of making art (putting the brush strokes on the page) while the human artist provides high-level creative direction.

This would be bad for present-day artists who've invested their lives in developing the skills of putting brush strokes on the page; those skills would become worthless. But the flip side is that Stable Diffusion lets anyone make art easily, generating whatever image they can dream up, without having to spend years developing the skills first.

So even though Stable Diffusion is bad for present-day _artists_, I suspect it's actually good for _art_ in the long term. "Anyone can easily create an endless supply of art, based on any idea they can dream up" seems like a good thing to me.

timmaxw··on Stable Attribution
> No one is necessarily saying that you owe Van Gogh a cut.

But the controversy over Stable Diffusion is whether they owe the human artists a cut or not, right?

> What they _are_ saying is not to claim that you didn't train on Van Gogh

Stable Diffusion is definitely not claiming that it didn't train on human artists.

timmaxw··on Grain farming goes indoors
> As for energy and light needs. Yes, it would need lots of energy but nowhere near what you think. Your back of the envelope math is talking about acres which isn't that useful of a metric for your energy needs.

It's true that acres were an awkward way to do the calculation. Let's redo the calculation in megawatt-hours.

- According to https://www.nature.com/articles/s41586-018-0706-x, grain crops yield about 0.24 grams of dry weight per mol of photons. (This assumes 100% of the photons are delivered to the plant, e.g. the LED is shining directly on the leaf with nothing lost.)

- One mol of photons embodies about 0.1kWh of energy. (That's for red photons; higher-frequency photons would require more energy. And note this is a physical limit, where we're assuming the LEDs are already 100% efficient.)

- So that works out to 0.0024 metric tonnes dry weight of grain per MWh. Global grain production is about 2,700 million metric tonnes per year (per https://www.statista.com/statistics/263977/world-grain-produ...)

- So we'd need 1,125,000 TWh/yr of energy to grow the world's supply of grain through indoor farming, or 45x the world's current electricity production. And this calculation is just for grains; to grow all the non-grain crops too, you'd need even more energy. So I stand by my original estimate.

What about genetic engineering? Looking at https://www.nature.com/articles/s41586-018-0706-x, the "0.24 grams of dry weight per mol of photons" calculation is taking into account that e.g. grain plants are not as efficient as some other plants at absorbing light, and not all of the grain plant is edible. The most efficient plants (leafy greens) produce 1.33 grams of dry weight per mol of photons. So if we could genetically engineer a grain plant that absorbed as much light as the most efficient plants, and didn't have an inedible stalk, then we'd need 203,000 TWh/yr of electricity to grow the world's supply of grain, which is "only" 8x the world's current electricity production.

And at that point, we've squeezed out all the obvious sources of inefficiency; to do better, you'd need to fundamentally change plant biology, or just do photosynthesis directly in a vat, or something.

timmaxw··on Grain farming goes indoors
Sorry, but I'm still quite skeptical; I'm going to need you to make a specific case, not just ask me to trust you because you're in the vertical farming industry.

> so can say with quite a lot of certainty that you can safely put your suspicions to rest

I took a closer look at https://www.infarm.com/vision, and it seems that the way they achieved 25x the yield per acre was by stacking multiple layers. So each layer needs its own set of LEDs. How bright is each layer of LEDs, compared to sunlight? According to https://en.wikipedia.org/wiki/Photosynthetic_efficiency, only about 45% of sunlight is in the part of the spectrum that plants can use; so if you grow crops with purple LEDs, you could use only 45% as much energy as sunlight. But if you're getting 25x the yield-per-acre by having 3 layers, then you're using 3*45%=135% as much energy-per-acre as sunlight.

I admit I'm not an expert, and these numbers are very rough estimates. Feel free to point me to a source that gives more specific numbers for yield-per-acre of an energy-intensive crop; number of layers used; and electricity usage per layer per acre.

> We even have tech to grow various crop types to harvest stage without needing light at all.

It's physically impossible to produce food without an energy source. So if you're not using light as the energy source, then what are you using? And if you look further upstream, where is the energy ultimately coming from?

> Energy usage? Think about all that fuel those tractors you no longer need are burning to till soil, harvest crops, and do general field work on top.

According to https://energyeducation.ca/encyclopedia/Agricultural_energy_..., the total energy use of the agricultural sector worldwide is roughly 2,000 to 3,000 terawatt-hours per year. That includes fossil fuels too, not just electricity. So the energy used to run a tractor is tiny compared to the amount of sunlight falling on the field.

timmaxw··on Grain farming goes indoors
But if you stack six layers, each layer needs its own set of LEDs, or else the lower layers wouldn't get any light; so the energy usage per unit of wheat is the same.

(In fact, if you look at the photos and video on https://www.infarm.com/vision, it seems like they're already doing multiple layers, each layer with its own set of LEDs; so the energy-usage-per-acre is probably already significantly more than direct sunlight.)

> And also your remark about the energy cost doesn't seem correct, if that were true any kind of indoors agriculture would be too expensive to be possible.

My understanding is that commercially-viable indoor agriculture works by focusing on expensive foods that are not very energy-dense, like fresh leafy greens. According https://www.nature.com/articles/s41586-018-0706-x, the cost of electricity to grow fresh leafy greens indoors is 1% of what they can be sold for. But to grow tomatoes, the cost of electricity is 18% of the selling price; and to grow grains, the cost of electricity is 10,000% of the selling price!

timmaxw··on Grain farming goes indoors
I just can't see how this can replace conventional farming at scale. Currently, outdoor farming uses 4.62 billion acres [1]. The article says indoor farming has 25x the yield per acre. So that would be 177 million acres. Today, there are only about 44 million acres of total buildings in the world [2]. So to replace conventional farming, we'd need to build 4x as many buildings as currently exist; what's the environmental impact of _that_?

But the real deal-breaker is energy. Outdoor farming gets energy naturally from sunlight. Indoor farming is powered by LED lights. LEDs could be more efficient than sunlight by only emitting the frequencies that are most useful for plants; but on the other hand, I suspect that they might need to be brighter than sunlight to achieve 25x the yield per acre. So let's estimate it's exactly as bright as sunlight. To light 177 million acres exactly as bright as sunlight, you'd need somewhere around 3,000,000 terawatt-hours per year. For comparison, global electricity consumption is around 25,000 terawatt-hours per year [3]. So to replace conventional farming, this would need about 100x as much electricity as the current global electrical grid can supply!

So until we get fusion power, I doubt this is practical.

[1] https://www.producer.com/news/worlds-farmland-total-bigger-e...

[2] https://guidehouseinsights.com/news-and-views/the-global-bui...

[3] https://en.wikipedia.org/wiki/Electric_energy_consumption

timmaxw··on Brokenism - The real debate today isn't between the left and right
I like this distinction, and it makes a lot of sense to me. I'm probably closer to the status-quo-ist end of the spectrum.

From what I've seen on the Internet, a common failure mode of brokenism is to focus on the "tearing down" part and not the "building anew" part. Some brokenists seem to take for granted that if only the current system were torn down, a better system would arise in its place. But they're often vague about what, exactly, that better system would be or how it would work in practice.

For example, Brexit was fundamentally brokenist. The Brexiteers succeeded in tearing down the existing system of Britain-EU ties, but found that they couldn't actually build anything equally good or better to replace it.

Same with the "defund the police" movement. The premise of "defunding the police" was to cut funds from police departments, and use the funds for alternative methods of reducing crime & violence. But the movement was vague about what, exactly, those alternatives would be. And in practice, when cities did reduce funding for their police departments, the alternatives didn't seem to materialize.

So I'm deeply skeptical of the forms of brokenism that focus on tearing down the current system, rather than focusing on a specific alternative they want to build instead. (And when there is a genuinely better alternative, I think it's often possible to build that alternative _without_ first tearing down the current system, and then it replaces the current system naturally.)

timmaxw··on Microfeatures I'd like to see in more languages
Personally, I found Ruby's symbols to be a source of bugs because they can easily get mixed up with strings. The article gives the example of dict[:employee_id]. But what happens if you serialize "dict" as JSON, then parse it again? The symbol :employee_id will be silently converted to "employee_id", which is treated as a different dict key from :employee_id. I found it was easy to lose track of whether a given dictionary is using the "keys are symbols" or the "keys are strings" convention, especially in larger codebases.
timmaxw··on Warming up your car before driving in cold weather can damage the engine (2016)
Following the chain of links, I think this article is the original source: https://www.businessinsider.com/heres-what-idling-your-car-i... It's a much more detailed article, including some specific claims about the science.
timmaxw··on Pointer Compression in Oilpan
I wonder if you could apply a simpler version of this to ordinary C/C++ programs? If you allocate a chunk on the heap with 8-byte alignment, then you can throw away the lowest 3 bits of precision, and then you can address 32GB with a 32-bit pointer. You'd need the cooperation of the memory allocator to ensure it gives you addresses in the first 32GB of address space, and it might interfere with things like ASLR, but it doesn't seem impossible.

Something like this in C++:

  template<class T>
  class CompressedPointer {
  public:
    T &operator*() const {
      return *static_cast<T *>((uint64_t)ptr << 3);
    }

    /* It's not safe to construct a CompressedPointer<T> from an arbitrary T*;
    you probably want to malloc and construct via the CompressedPointer itself */
    template<Args...>
    static CompressedPointer malloc(Args...) {
      /* allocate 8-byte aligned sizeof(T) in first 32GB, then construct T in it */
    }

  private:
    uint32_t ptr;
  }
[Edit] Extra crazy idea: Take an existing large C++ codebase. For each struct T in the codebase, use static analysis to determine if T is ever stack-allocated (or otherwise incompatible with CompressedPointer). If not, automatically rewrite all "T*" to "CompressedPointer<T>" and all "new T(...)" with "CompressedPointer<T>::malloc(...)". I suspect this would work for 90% of the heap allocations in a typical C++ codebase...
← PreviousPage 2 of 5Next →