HNHacker News
TopNewBestAskShowJobs

jgraham

1,876 karma · joined November 16, 2009

submissionscomments
jgraham··on First ammonia-fueled ship hits a snag
Note that biofuels aren't especially environmentally friendly, even just considering carbon emissions. See e.g. [1], which makes the most optimistic possible assumption by ignoring land use changes and still concludes "the reductions for most feedstocks are insufficient to meet the GHG savings required by the EU Renewable Energy Directive" (second generation biofuels may do better, but that isn't clear). Also ignoring land use changes is a very bad asssumption; if your plan is to run global shipping (or other industries) on biofuels it seems highly implausible that it's not going to end up with more land overall used for growing crops. If that's land that could otherwise be sequestering carbon (e.g. drained peat bogs, which have the advantage of being highly fertile), then it's clearly going to be a significant contribution to carbon emissions (not to mention the ecological impacts of converting yet more land to agriculture).

[1] https://royalsocietypublishing.org/doi/10.1098/rspa.2020.035...

jgraham··on Trees not profits: we're giving up our right to ever sell Ecosia (2018)
I think there is a lot of truth in this, but presented in a way that misses some nuance.

It's true that if your goal is to regenerate native forest, which it generally[+] should be where that's an option, then it's indeed true that you want to allow existing forest to regenerate as naturally as possible. The problem in these cases is either land use (land is used for forestry / agriculture / etc. so there's nowhere for new trees to grow) or over-grazing (either by livestock such as sheep or by high populations of wild herbivores such as deer). In those cases you need to solve the underlying problems rather than just counting the number of saplings in the ground (in a heavily browsed area planting may have the advantage that you tend to put in tree guards. Ideally one could instead install appropriate fencing around the entire area to reduce herbivore numbers below the problematic levels).

However you aren't always in that scenario. For example if you're in a landscape with few seed sources then natural regeneration might take an implausibly long time. An extreme example of that would be "regreen the desert" type projects where you need to bootstrap the conditions for tree growth by putting in a lot of trees in a short space of time, although those have a high failure rate. You might also be worried that natural regeneration is too slow in the face of changing climatic conditions, and want to plant trees right for the anticipated climate 100 years hence (although that itself is likely to be controversial).

And of course frequently in the real world tree-planting projects have goals totally unrelated to climate change e.g. just forestry, and as such one shouldn't expect those things to be especially good for the climate, or at all good for biodiversity.

Anyway, I like the idea of companies dedicating part of their revenue to tackling severe global problems like climate change. But I tend to agree that Ecosia's continued focus on tree planting as their headline activity makes them look a bit naive to the audience that is likely to be most receptive to changing products specifically for environmental reasons. Hopefully some of the other project types they're moving into look better in the details than just tree planting.

[+] But not always of course. Converting peat bog to woodland, for example, is going to reduce its effectiveness as a carbon store, and likely reduce biodiversity as well.

jgraham··on Puppeteer Support for Firefox
Well the truth is it's both.

We had to change Firefox so it could be automated with WebDriver BiDi. The Puppeteer team had to change Puppeteer in order to implement a WebDriver BiDi backend, and to enable specific support for downloading and launching Firefox.

As the article says, it was very much a collaborative effort.

But the announcement is specifically about the new release of Puppeteer, which is the first to feature non-experimental support for Firefox. So that's why the title's that way around.

jgraham··on Puppeteer Support for Firefox
There's an issue open for this on the WebDriver BiDi issue tracker.

We started with WebSockets because that supports more use cases (e.g. automating a remote device such as a mobile browser) and because building on the existing infrastructure makes specification easier.

It's also true that there are reasons to prefer other transports such as unix domain sockets when you have the browser and the client on the same machine. So my guess is that we're quite likely to add support for this to the specification (although of course there may be concerns I haven't considered that get raised during discussions).

jgraham··on Puppeteer Support for Firefox
> Is it possible to now use Puppeteer from inside the browser?

Talking about WebDriver (BiDi) in general rather than Puppeteer specifically, it depends what exactly you mean.

Classic WebDriver is a HTTP-based protocol. WebDriver BiDi uses websockets (although other transports are a possibility for the future). Script running inside the browser can create HTTP connections and create websockets connections, so you can create a web page that implements a WebDriver or WebDriver BiDi client. But of course you need to have a browser to connect to, and that needs to be configured to actually allow connections from your host; for obvious security reasons that's not allowed by default.

This sounds a bit obscure, but it can be useful. Firefox devtools is implemented in HTML+JS in the browser (like the rest of the Firefox UI), and can connect to a different Firefox instance (e.g. for debugging mobile Firefox from desktop). The default runner for web-platform-tests drives the browser from the outside (typically) using WebDriver, but it also provides an API so the in-browser tests can access some WebDriver commands.

jgraham··on Sustain Open Source, sustain the planet: A new conversation
That is certainly true of most consumer devices i.e. phones and laptops. For example Dell estimate that 85% of the lifetime emissions for their XPS systems come from manufacture [1] and Apple claim 79% for an 14 inch macbook.

For beefy desktops or servers using hundreds of watts on a continuous basis the situation is rather different e.g [3] which is a Dell estimate for a Precision 7000 series tower showing 74% of emissions attributed to use.

This makes sense: if we assume 700kg of carbon emissions to construct a server, but 300W of continuous power draw during use (seems fairly conservative, especially including cooling) then with the US grid intensity of 0.39 kg CO2e/kWh we find that the manufacturing emissions match the usage emissions over ~250 days of use.

Of course the actual numbers depend heavily on precise circumstances; a data center in an area with less carbon intensive electricity will have a correspondingly lower carbon footprint.

So _as a consumer_ it's true that the biggest contribution is not directly in the usage of the (local) device, but in creating that device in the first place: you're almost always better off keeping a device for longer rather than replacing it with a more power efficient one. But on the server side that isn't the case: the emissions due to operating the data center are also substantial. Plus increased demand on the server side also increases the number of servers manufactured and deployed.

Historically improved hardware power efficiency has meant that carbon emissions have increased slower than compute. So I'm somewhat skeptical when I see articles claiming huge factor increases in the overall carbon intensity of the internet in the near term. _However_ that's not a law of nature, and new technologies that cause a step change in demand for server-side compute could indeed dramatically increase the carbon emissions of the internet.

[1] https://www.dell.com/en-uk/dt/corporate/social-impact/advanc... [2] https://www.apple.com/environment/pdf/products/notebooks/14-... [3] https://www.dell.com/en-uk/dt/corporate/social-impact/advanc...

jgraham··on HTML Attributes vs. DOM Properties
Work with attributes whose name doesn't match the XML Name production.

That can be a real concern in some cases (it came up recently in the context of "how do I move all the attributes on node A to node B, given that node A's attributes can be anything that can be created by the HTML parser?" c.f. https://software.hixie.ch/utilities/js/live-dom-viewer/?save... )

jgraham··on Getting the Grid to Net Zero
Technically the difference between "net zero" and "carbon neutral" is supposed to be that "net zero" first eliminates all but "residual" emissions, and only then depends on offsets, whereas "carbon neutral" is more like what you describe (no required emissions cuts; possible to just buy — often dubious — offsets).

Science Based Targets Initiative for example requires companies signing up to their scheme to have credible plans to cut emissions by ~50% by 2030 and 90% by 2050 to claim that they're aiming for "net zero" [1] (SBTI itself was recently in the news because employees felt that recent policy changes leaned too heavily on offsetting; I don't really know what the current situation there is).

In practice usage of these terms my not be well regulated, so it's always worth checking out exactly whose definitions are being used.

[1] sciencebasedtargets.org/blog/net-zero-jargon-buster-a-guide-to-common-terms

jgraham··on www.google.com – The page is blank when accessed
(I work on WebCompat at Mozilla)

There are various people whose job involves triaging issues filed on that repo, and communicating with the issue authors where necessary e.g. to figure out additional steps required to reproduce the reported problem. The point of that effort is exactly because we value reports of site breakage so highly, and want to ensure that people reporting them have a good experience.

Unfortunately when a bug report (not just this in this repo, but almost anywhere) hits (almost any) social media there's a high chance of the suddenly large audience making comments that aren't at all actionable in fixing the issue. In this case it seems highly unlikely that anyone can add additional information that will allow a faster resolution, whereas there was already one off-topic/unactionable comment at the time the issue was locked.

So if we leave the issue open, it has the downside of disrupting our normal workflows, and taking attention away from fixing either the problem at hand, or any other issues that currently require our attention. To me that significantly outweighs the potential upside of leaving it open to "make people feel welcome".

Of course, like many things in life, it's not a mathematical problem where you can derive a correct answer, but a set of tradeoffs based on experience, and therefore reasonable people may come to different conclusions.

jgraham··on Farmland practices are driving bird population decline across Europe (2023)
I don't disagree with you, but to give a bit of colour to the counterargument, as I understand it, we now have maybe 5 decades of experience which suggests that the "sharing" approach doesn't work at scale. In general, if you want to see wildlife in western Europe you go to a nature reserve, not a farm, because "spared" land will have nature but "shared" land increasingly won't. Of course there are some individual farmers who are doing great work and bucking that trend, but so far no one has found a magic formula that allows land to both be subject to intensive agriculture, and also support historically normal levels of wildlife. Or maybe someone has, but if so they've failed to convince farmers to adopt it unilaterally, or governments to impose it as policy.

So arguably the evidence we have is that if you consider only things that farmers like to be politically practical, then we're likely to see wildlife declines continue indefinitely.

That is of course why many people are looking for solutions that don't depend on the consent of the agricultural industry. One approach is to go over their heads and appeal directly to government e.g. the biodiversity COP agreement requiring 30% of land to be set aside for nature. Another is to hope that technological breakthroughs (e.g. precision fermentation) can fundamentally alter consumer demand for food products in a way that makes them much less land intensive (primarily by cutting out meat and other animal products, which use a disproportionate amount of land when farmed extensively, and produces a disproportionate amount of pollution when farmed intensively).

Of course, in the short term, the practical answer is "do both, wherever possible". Conservation organisations should be encouraged to purchase land so that it can be managed directly for wildlife. Farmers should be encouraged to adopt wildlife-friendly practices as much as possible. Governments should be encouraged to consider wildlife conservation a goal in itself when designing incentive schemes for the agriculture industry, and the taxpayers who directly fund much agriculture through subsidies should be encouraged to hold them accountable for their progress in this area.

Easier said than done, of course, but as the original article makes clear, the status quo is chronic failure, and there's no reason to suppose that can be changed within the current paradigm.

jgraham··on I kind of killed Mercurial at Mozilla
Yes, I think it's under-appreciated how much git and mercurial were ideologically different in their attitudes to history rewriting.

The generally accepted narrative these days is that git became popular because of github (with the implicit assumption that was an arbitrary choice) and/or the Linux kernel (without much questioning of why people specifically cared about Linux's tooling for wource control).

But what I remember from ~2010 was a load of blog posts eulogizing history rewriting and how it allowed you to separate out the activities of committing changes locally in order to record the state of your work at various times, and assembling the final patch into something suitable for review by others.

Meanwhile mercurial took the stance that history rewriting is bad, and as a result people ended up using even worse solutions like `mq`, which is basically tooling around directories full of numbered patch files.

You still see that distinction in hg: once it eventually did realise that history editing is a desirable feature for many reasonable workflows it added a lot of additional complexity to the basic model, with features like phases (supposed to stop you rewriting commits that someone else might be depending on, but just using the proxy measure of "was this pushed to a 'publishing' repo") and "evolve" (which keeps a complete history of history rewrites; useful in principle for tools like code review systems to avoid the common pattern of putting a "patch id" into the commit message, but in practice felt like a lot of extra mental overhead).

So at least my view is that git made a "practicality beats purity" bet on history rewriting being a net good, and hg made the opposite bet, and eventually lost.

And back on the original topic, I used hg personally before I used git, and then professionally at Mozilla before git cinnabar came along (although by this point I was using git in other projects). So I've used mercurial a lot but actively prefer git when given a choice. Nevertheless I think this article understates just how good cinnabar is compared to the options that preceded it; apart from the case where you have a hg hash from an external system and want to find the commit locally (where you just run `git cinnabar hg2git`) it's basically totally seamless and just works without problems. It's a small tool that does one thing really well, to the extent that it's easy to overlook just how good it really is.

jgraham··on The Cruel Fantasies of Well-Fed People
If you're interested in this topic, I can recommend his book on the subject of food production: Regenesis — Feeding The World Without Devouring the Planet [1].

It tries to look at food production as a global system, the successes it's had in terms of making food more affordable and avoiding global famine, but also the damage it's causing to climate and biodiversity, and possible ways forward given the constraints of making food production sustainable without creating mass starvation.

I will also say that many groups of people don't like the conclusions. Many farmers and meat eaters don't like the idea that livestock farming at the scale needed to support modern western diets is fundamentally unsustainable. People who believe that eating free range meat means that they've made the clearly ethical choice may be surprised at how that works out over an entire population. Many non meat eaters are uncomfortable at the argument that just hoping people switch to vegan diets is unlikely to work in practice. Many environmentalists don't like the conclusion that the best hopes for a way forward involve more technology, not less.

I'm not sure he ends up betting on the right horses, but it seems to me that the substance of the book is well thought through, and hard to disagree with without falling into the "let them eat cake" trap that's called out in this essay.

[1] https://www.penguin.co.uk/books/317018/regenesis-by-monbiot-...

jgraham··on Earth beyond six of nine planetary boundaries
> The only viable method is lab grown meat

I suspect it's true that the only way to substantially cut animal-based protein consumption at scale is some technological alternative that offers a comparable culinary experience but with a lower cost (and lower impact). Although as another poster notes, it's also true that — like many resource consumption issues — the distribution isn't flat, but shows the majority of consumption coming from a relatively small fraction of the population.

However, what I wanted to point out is that "lab grown meat" is not the only possibility in this general area. Precision fermentation of proteins (e.g. https://gfi.org/science/the-science-of-fermentation/) is another approach that seems to have potential. Although I note that I don't have a specific horse in this race, and would be delighted to see anything that can reduce the overall environmental impact of food production at a global scale take off.

jgraham··on Distcc: A fast, free distributed C/C++ compiler
https://github.com/mozilla/sccache is another option which addresses the use cases of both icecream and ccache (and also supports Rust, and cloud storage of artifacts, if those are useful for you)
jgraham··on Farmland practices are driving bird population decline across Europe
> There are also quite convincing studies that show even worse declines for insect populations, again mostly due to industrialized farming techniques and the widespread use of chemical fertilizers and pesticides

Yes e.g [0]. Neonicitinoids in particular are basically nerve agents for insects that we wantonly spread all over their habitat, and which turn out to not remain localised on crops, but spread through runoff, via pollinators, etc. As you might imagine if someone were to spread sub-LD50 concentrations of novichok all over the human environment, the widespread use of these componds dramatically affects insect behaviour and therefore survival rates.

> holistic grazing

Unfortunately this in particular turns out to be unsupported by various studies that have been done to try to validate the claims (e.g. [1] for a popular article with some useful links).

In general the debate between nature-integrated farming vs maximising yield in smaller areas is complex, and I don't think I know enough to summarise it in a HN comment. For example [2] claims that maximising yield, but in smaller areas, is a better overall strategy. But I suspect the outcomes depend on exactly which factors you include in the model (e.g. if you want high yield farms using artificial fertislisers to maintain that productivity, do you account for runoff into rivers that can then have a non-local environmental effect? Maybe studies do this but, not being an expert, it seems hard to model).

In any case, a great deal of the land used for farming is given over to pasture, or the production of livestock feed. [3] has a map for the UK, showing that about half of the total land area is used for beef and lamb production alone, plus a similar area of land overseas. This compares to about 8% of the UK that forms the urban environment. So clearly there's plenty of scope for improvement here, but it depends on the will to change; an understanding that the world has value even when it's not farmed, and that we should stop subsidising, and therefore encouraging, high land use, high carbon, diets.

[0] https://www.annualreviews.org/doi/full/10.1146/annurev-ento-... [1] https://slate.com/human-interest/2013/04/allan-savorys-ted-t... [2] https://www.cam.ac.uk/stories/landsparing [3] https://www.carbonbrief.org/qa-will-englands-national-food-s...

jgraham··on Insulation: First the body, then the home (2011)
Unfortunately that's probably not true (and I say that as someone who has some much-loved merino clothes).

The problem with animals like sheep is that they take up a huge amount of land, both directly grazing and for any additional feed that they require. The more intensively you farm them, the more ecosystem damage they do, but of course less intensive grazing either requires more land or reduces production and increases prices.

I couldn't quickly find any numbers to compare to other materials like cotton, but at least for food production, grazing animals are an order of magnitude worse on this metric than any plant-based crops (e.g. [1]).

The reason that land usage is bad is because it's zero sum: land that's being used for farming is likely to be less good at trapping carbon than other possible uses of the same land (e.g. reforestation), and is typically not very good habitat for wildlife (sheep in particular selectively graze on the tastiest plants and so tend to leave behind a monoculture of rough grasses which are their least favourite food).

If you have to buy new clothes today, I don't really know what the best option is. Plastic-based fibres obviously require oil (although many are based on recycled plastics) and end up creating microplastic pollution and waste products that won't biodegrade. Cotton is very land intensive to produce, but I suspect wool is even worse. Maybe destroying land in the tropics is worse for biodiversity than grazing sheep in temperate regions (similar to palm oil being land efficient, but damaging to rainforests in particular)? In any case I don't know of a simple way to weigh these tradeoffs.

The only thing that seems unambiguously like a win is buying fewer clothes and making them last longer.

[1] https://ourworldindata.org/grapher/land-use-per-kg-poore

jgraham··on The organ as a wind instrument
Anna von Hausswolff [1] performs "pop" music on the organ.

[1] https://en.wikipedia.org/wiki/Anna_von_Hausswolff

jgraham··on Why are there so few dead bugs on windshields these days?
It's good to see a comment that recognises that this "bug splatter on the windshield" data is mostly just an easily observed hook to connect the measured declines to people's everyday life experiences.

The topic seems to come up here ever few months, and there's always a significant percentage of the discussion devoted to aerodynamic effects, or changes in insect distribution specific to roadside habitats. Those converstations often feel like "middlebrow dismissal": people who think the fact they can come up with a plausible alternate explaination for the data given a few seconds thought means it's likely that the studies are totally flawed and can be ignored.

Meanwhile if you dig in to the actual evidence, the studies based on vehicle data show a small negative correlation between vehicle age and number of impacted flying insects (i.e. older cars have slightly fewer splats, not more). More importantly, the general trends of declining biomass of (especially, but not only) flying insects reproduce over a wide range of methodologies and habitats. For skeptical readers, there are some links to studies in a previous comment I made on a previous thread on this same general topic [1].

Having said that, I think you've missed one of the big factors that's likely to contribute to the decline: the widespread use of insecticides (especially) and herbicides in industrial agriculture. Studies on bees show that even insects exposed to something much lower than the LD50 of certain insecticides experience behavioural changes that dramatically decrease their survival rates. And because "pest" insects typicaly have short lifecycles and rapid reproduction rates, they're often best placed to evolve tolerances for the insecticides, so there's pressure on farmers to use more and more to get the same effect.

For anyone who's interested in an introduction to this topic aimed at the general public (like me!), but written by a Professor of Entomology, I can recommend Slient Earth [2].

[1] https://news.ycombinator.com/item?id=31278206 [2] https://bookshop.org/p/books/silent-earth-averting-the-insec...

jgraham··on An Airbus A380 was flown on fuel derived from cooking oil
The problem with biofuels in general is that they're always sold as "from byproducts". But of course as soon as you set up a market for fuel it becomes a product in its own right. So they tend to drive the conversion of natural habitat into land managed like agricultural land, which has all the same problems as normal agriculture (habitat destruction, use of ecosystem-destroying pesticides, pollution from fertilizer runoff, soil erosion, etc.) and it's not even producing food. Land usage for food crops (destruction of tropical rainforest habitat for soy and palm oil, destruction of atlantic rainforest for sheep farming, etc.) is already contributing to a rate of species lost three orders of magnitude higher than the expected background rate. And there's a limit to how much we can eat; the amount we can burn as fuel is almost unlimited.

"Sustainable" solutions that incentivise turning over more land to agriculture are nothing of the sort. And it's really the incentives that matter more than whether the initial prototypes are using existing byproducts.

jgraham··on Actions rooted in open source culture can make a big impact
>I've never been in a plane. I don't go on vacation. I don't have a drivers license. I don't feel bad, because i rarely do things i should feel bad for.

Sounds like "symbolic nonsense to feel better about yourself". By reducing your personal carbon emissions a North American can probably go from 22 tonnes of C02e/year to maybe 5 tonnes CO2e/year. Maybe a little less if you really try. So you can cut maybe 17 tonnes / year * 80 years = 1360 tonnes over a lifetime. That's about the CO2 emissions of a plane doing 2 return trips across the Atlantic. If you're from Europe your baseline emissions are probably lower (by almost a factor of 2 between the USA and Western Europe) and therefore so are the potential savings.

Although cutting one's personal carbon footprint is a good first step, individual lifestyle changes aren't enough to make a difference. They're OK, but not more than that. Technical, cultural and political solutions are all required, and although there might be parts of the original article that are misguided at least it's trying to engage with the problem at more than an individual level.

jgraham··on Actions rooted in open source culture can make a big impact
This would be a more useful comment if you actually engaged with the article to point out which parts you don't agree with and suggest alternatives. For example I'm very skeptical that reducing the power consumption of software is very effective; although the industry has made huge advances in low-power hardware, induced demand has meant that the overall electricity consumption of the sector has continued to increase. A lot of "sustainable" tech initatives seem to be based around that and demand shifting so you're running compute jobs at times when renewables are more widely available. The latter might be worth worthwhile as a short-term hack, but it's only a meaningful part of a solution insofar as it incentivises a faster transition to more clean/renewable energy.

When you just make a blanket statement that everything is "symbolic nonsense" it's easy to assume that you're not interested in helping, but just one of the many people who has pivoted directly from "climate change isn't real so we should ignore it" to "climate change is inevitable and so we should ignore it".

jgraham··on Bugs Matter: counting insect ‘splats’ on vehicle number plates [pdf]
Right, the quote from the linked paper is:

> This is contrary to a suggestion that finding fewer insects on number plates in recent years might be attributed to increasing streamlining of vehicle aerodynamics over time. Our data show that newer vehicles sample more insects than older vehicles, and we have observed pattern of fewer insects on number plates more recently than in the past in spite of this effect of vehicle age, which is assumed to be correlated with aerodynamics.

In fact the researchers posit a few more possiblities other than collapse of insect populations that could explain their data. For example they can't eliminate the possibility that there's some change in the management of roadside verges that specifically decreases the insect population in those environments, without reducing the population in other environments.

The challenge for all the explainations which involve something other than population change is that there's now an increasing nubmer of studies using different techniques which consistently show declining populations. For example [1] uses Malaise traps in nature reserves, which presumably wouldn't be affected by roadside management practices, and finds a ~75% decrese in flying insect biomass over 27 years, whereas [2] uses light trap data to look at moths specifically and finds a ~40% decline in biomass over 50 years (and ~50% in woodlands).

Whilst it's possible to find studies that show increases in insect numbers e.g. as a result of site-specific conservation work, there's a lot of data suggesting that in Europe at least numbers are in significant decline. As far as I can tell (and I'm really not an expert) we don't understand the reasons all that well, but habitat fragmentation and pesticide use are leading theories. We at least know that common pesticides (notably, but not exclusively, neonicotinoids) are toxic to bees, and will reduce populations even at sub-lethal doses (e.g. [3]). So changing our agricultral practices to eliminate these chemicals looks like a necessary, but perhaps not sufficient, part of the solution.

[1] https://journals.plos.org/plosone/article?id=10.1371/journal... [2] https://resjournals.onlinelibrary.wiley.com/doi/10.1111/icad... [3] https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.66...

jgraham··on I liked the idea of carbon offsets until I tried to explain it
So the fundamental premise of the article seems to be "offsetting via avoidance can't get you to net zero, so it's a bad idea". I agree with the premise (that it can't get you to net zero), but I wonder if it can hep with resource allocation and efficient sequencing? For example we currently don't seem to have a good plan to reduce the carbon emissions of the aviation industry other than "fly much less". And whilst I can certainly get on board with that, it seems unlikely there's going to be the necessary big shift in behaviour (and corresponding shrinkage of the aviation sector) over the next five to ten years.

Meanwhile we do know that things like reducing the carbon emissions of dwellings by improving insulation is relatively straightforward. But individuals often don't have the capital to make those changes themselves (even where it would provide cost savings in the medium term). So if aviation companies were providing money that was redistributed to projects which are short-term viable but lacking the necessary funding, that could make an impact now, even though it doesn't fully solve the long term problem.

Make those contributions mandatory and we have something that looks like a carbon tax used to fund decarbonisation programmes.

Of course, in the end you still need to tackle the hard problems. But artifical carbon sequestration still seems to be very much at the "reasearch project" stage, and whilst creating natural environments that can sequester carbon (forests, bogs, etc.) is undoubtedly a great idea — not just for carbon, but also for habitat creation, biodiversity, staving of desertification, and a host of other reasons — it seems problematic as a form of offsetting for the reasons identified in the article, plus the fact that it operates over a period of decades, so it's almost impossible to create any accountablity if the carbon is not in fact sequestered.

More than that, the fact that increasing tree cover and restoring natural habitats is so important means it's worrying when the funding plan is based on pennance for carbon emissions. We don't want to create a situation where resources for these incredibly important projects start to dry up just because more companies have successfully reduced their corporate emissions (even if they still have product-usage emissions which are usually unaccounted for).

jgraham··on Why have female animals evolved such wild genitals?
> Birds are mostly monogamous

This is quite misleading without further context.

My understanding is that a majority of birds are observed to be "socially monogamous"; that is they form a pair lasting a single breeding season, and the pair works together to raise that season's brood. It's only a minority of species in which the same pairs reform across multiple seasons. I don't know how well understood this is; at least for sea birds, which are general among those to form long-term relationships, I've heard a theory that it might be related to the fact that fishing is an aquired skill that should improve with age; finding enough fish to feed both parents and chicks is difficult, and therefore there's a bigger risk if you change partners. The difficulty of finding food, and long time after birth before the offspring become self-sufficient, means these birds can typically only raise one or at most two young per year, so again the cost of failure is high.

Even though in general the rate of social monogamy among bird species is high, this doesn't mean that birds are always parenting their own offspring. In some species (kittiwakes, terns) parenting others' chicks is really rare, but in other species there can be high rates of sexual infidelity e.g. some studies suggest that ~20% of chicks in flycatchers and ~30% in cardinals are unrelated to one (or, less commonly, both) parents. The latter may seem surprising, but of course brood parasitism (e.g. cuckoos) is well known, and there's a same-species variant of that in some species where a female will intentionally lay some eggs in the nest of another pair.

jgraham··on Interop 2022: browsers working together to improve the web for developers
The Acid tests were obviously great at the time, but in retrospect some of the choices were not ideal. The concept of having a single page that only renders correctly when all the relevant conditions are met makes it hard to write broad tests for the feature; the Acid tests often depended on deep edge cases of one aspect of a feature, but lacked coverage of other aspects of the same feature. There was also an element of function-follows-form; the requirement to render an overall memorable image in the passing case often meant that the tests themselves were not well isolated, and developers working on the bugs would have to spend considerable time producing reduced test cases. For Acid 3 in particular, the need for 100 exactly tests meant that some features were given extremely shallow coverage, and the general hype around being the first implementation to pass an Acid test encouraged vendors to do the minimum necessary to make the test pass, rather than providing a useful implementation of the feature.

In the time since the Acid tests, there has been much more focus on building up the process for sharing tests as a matter of course in browser development; web-platform-tests is the result of that effort. Interop 2022 adds some more public accountability on top of web-platform-tests, which hopefully creates some of the same incentives as Acid tests for everyone to get the same set of features above the bar where they're no longer providing problems for web developers or end users. But it's intentionally set up to use a library of many smaller tests, and be paced as a marathon rather than a sprint, in the hope of avoiding some of the pitfalls of the Acid-test approach.

jgraham··on Interop 2022
Yes, contentEditable is the poster child for why it's a bad idea to base a widely used feature on reverse engineering an implementation, rather than on a standard that had meaningful cross-vendor input from the start. Not only are all the implementations different, the behaviour itself often seems to be "whatever happened to be easy to implement in trident (i.e. IE) at the time". What's worse is that it's become so widely used despite the differences that editing libraries typically have browser-specific codepaths, which can make it hard to align behaviour without breaking things. The spec, such as it is, was written post-hoc and doesn't reflect the behaviours that sites expect today.

As you can see, the whole area is a bit of a mess, and so some substantial work will be needed to clean things up. But that's the point of this kind of effort!

Also, assuming you filed the linked bug, thanks for the detailed report with testcases! It's appreciated.

jgraham··on Interop 2022
You are correct; the real success in terms of improving the web for users and authors will be if all the browser engines end up aligning on behaviour and getting a good score. Nevertheless having per-browser scores is useful for the browser teams themselves to help them prioritise their own contribution to that overall success.

You're also correct that there are cases where the behaviour as expected by current specs / tests might turn out to not be web compatible and so alignment will require changing the expectations and might reduce scores for implementations that were previously following the spec. That is already a thing that happens (although it would be great if it didn't). In practice, most of the focus areas are quite new parts of the platform with well written standards and not too much existing content. So I don't expect this to be a big effect. The "web compat" area has some cases where this outcome is more likely, but it's comprised of user-experienced problems in real sites, so the incentive to fix the problem is much greater than the incentive to avoid a temporary drop in the interop score.

The investigate areas are specifically those where it's unclear what the path to interoperability looks like, or how to measure interoperability. In those areas, figuring out what we can realistically do to ship the feature in a way that works the same across browsers is the point. Hopefully, if we run this kind of thing again in the future, we have a clear picture of what's web compatible, and can turn those investigate areas into focus areas that are scored on the basis of a testsuite that everyone agrees is useful.

jgraham··on It's not what programming languages do, it's what they shepherd you to (2020)
(I work on WebDriver standard / implementation)

Classic WebDriver, when used to control a single browser is indeed a synchronous API. So for example the server-side WebDriver implementation used in geckodriver is fully synchonous; it accepts a HTTP request, and does a bunch of blocking work to execute that command in Firefox. But there are a couple of reasons you might want an async client, even though the browser side is synchronous:

* You might want to drive multiple browsers at the same time. For example when running multiple tests in parallel you would have multiple concurrent requests going to different browser instances. Obviously you could implement that as multiple threads/processes/etc. but if async has the ergonomics you're looking for it is certainly a viable option.

* Modern extensions to WebDriver don't follow the command/response model. Many clients have additional functionality that's not implemented on top of WebDriver, but using browsers' built in debugging protocol. Even Selenium these days uses the Chrome Debug Protocol for some features (e.g. access to logs). Those protocols are event based and so not suitable for a fully blocking API. Of course one could still design something that doesn't require async for those use cases, but I think it's generally believed that async offers the best APIs in languages that support it.

jgraham··on Sorry Safari Team
Note that web-platform-tests has frequent runs of the included browsers in both nightly/dev/tech preview configurations and in stable configurations. And in all browsers there can be things which are enabled in these experimental builds which aren't going to ship in the next release. One can argue of course that it makes more sense to make all the comparisons on the basis of what's actually shipped to users, but that wouldn't have changed the story here.
jgraham··on The Intelligent Forest
The article's author is Suzanne Simard [1], who was the first to observe and study the fungi-mediated carbon transfer between trees of different species. This isn't a non-expert romanticising science; this is one of the world's leading experts on the topic at hand trying to make their research accessible to a wide audience.

More than that, the idea that communicating via metaphor is necessarily dangerous and misleading seems wrong. These complex biological systems are indeed very different to our human experience. And in many cases our understanding is very nascent; requiring creative thought to develop new insights and make progress. In that context, using metaphors as hooks helps to guide our thoughts and suggest possible paths to further elucidation.

Of course, at some point one needs to back up the mental model with hypotheses that can be tested quantitatively, and to actually go out and do the experiment. And it is true that one can take the mental model implied by a metaphor and overapply it, making you believe you understand something that you don't. But that can also happen with any kind of model; one can learn some equations relating supply and demand and feel like that's sufficent to "understand eonomics" but end up making bad predictions when the real world situation turns out to more complex than the assumptions underlying the model.

[1] https://en.wikipedia.org/wiki/Suzanne_Simard

← PreviousPage 2 of 7Next →