Hacker News new | past | comments | ask | show | jobs | submit | lalaland1125's comments login

It's very interesting that the group level results (table 1) of this analysis seem entirely opposite when comparing western and non-western countries.

As noted by table 1, all the group level results indicating that fluoride has a negative impact on IQ come from China, India and Iran.

When you look at the studies done in western countries, in particular Canada, New Zealand, Taiwan, Australia, Sweden, Denmark or Spain, you do not see negative IQ effects (Australia, Sweden, Denmark and Spain studies were not included in this meta analysis, but you can find links to studies from those countries in https://www.statnews.com/2025/01/06/fluoride-iq-jama-pediatr...).


This feels a lot like the "blue-zone problem" in that it turned out blue zones were only prevalent in areas where they kept birth records poorly.

I dont know much, but are less wealthy countries more statistically likely to create unreliable research or is that not a vector that seems to affect deep science?


China and India are countries with highly trained good scientists, who work in a bad system. They have to make results constantly to keep officials happy. So there is a lot of research fraud. I don't know about Iran but it's probably similar. A lot depends on the field and institution but it's possible. (The West is really bad for research fraud too, but not as bad.)

This meta analysis tries to look for high "risk of bias" based on methodology. But it doesn't look like they consider the possibility of fraud, only bad methodology and statistics.


> They have to make results constantly to keep officials happy. So there is a lot of research fraud.

What's surprising is that if there was fraud one would expect the results to go in the other direction since fluoridation is the official policy.


there may also be political pressure, but mainly there is just a strong demand for more papers, which means getting results that are publishable. "fluoridation has no effect on IQ" would be less publishable. same as in the west, but the western bureaucrats are more realistic and more focused on quality so the pressure is not as strong.

> have to make results constantly to keep officials happy

Ironically, there is probably some public pressure in the West to publish findings that make fluoride look bad. Why solve actual problems when you can defeat imaginary ones?


Thats the funny thing, Its hard to tell which side has more motivation for fraud.

I doubt it’s that coördinated. More likely: researchers respond to funders who really want to see a particular outcome. Nobody goes in aiming to be corrupt. But as a system it winds up being.

>As noted by this meta-analysis itself, all the results indicating that fluoride has a negative impact on IQ come from China, India and Iran.

That's not accurate. Table 3 shows negative impact from data collected in Canada and Mexico as well.


The Canadian and Mexican studies are invalid because they use spot urine to measure fetal fluoride exposure. Spot urine of the pregnant woman can't measure her chronic fluoride exposure. It can't tell us anything about what the fetus was exposed to. These are studies, regretfully, that might as well not have been written. They are not useful because they are invalid.

I think you're referring to the Canadian and Mexican studies that were excluded from the meta-analysis.

If you read the paper, two Canadian studies and three Mexican studies were excluded, but not all of them were. Table 3 only shows results from studies that were judged to be robust.


The problem is really quite simple: Americans overeat

Processed foods are part of the problem (in that they are tastier and easier to consume than "rawer" foods), but increased wealth and ability to consume food is also a part of the problem

Food has literally never been cheaper and tastier


Restaurants in the U.S.A. belonging to large franchise chains have portion sizes that are astonishingly large in comparison to those I've typically seen in my world travels, and the ingredients tend to be heavily processed.

Even quick snacks found at U.S. gas stations (when I'm running late) consist chiefly of mass-produced, sugary, heavily processed desserts like Twinkies and HoHos, whereas options for fresh fruit and locally made goods with natural ingredients are often not to be found. I take a pass and look for an open supermarket instead. I doubt that it is a supply chain issue: in the north of Scandinavia and Canada, the outback of Australia, and especially through Asia it is almost always possible to get somewheat healthy quick snacks of a local variety at roadside petrol stations.


The cultural attitude about appropriate portions in America bothers me a lot. People blame restaurants but just anecdotally from my own life, Americans will refuse to eat at restaurants that serve “European size” portions. Restaurants in most of the US go out of business if they don’t serve a 3k calorie meal, American patrons won’t go there.

Agreed, portion size expectations by U.S. patrons presents a chicken-and-egg (worse if both are fried) problem for restaurateurs.

Europe isn't a monolith. Restaurant portions in the Balkans don't seem any smaller. Maybe even larger on average.

As a large man who exercises a lot I do refuse to patronize restaurants that serve tiny portions (unless I'm specifically intending to order multiple small plates for tapas or sushi or something). And you're exaggerating with the "3k calorie meal" thing. That rarely shows up on real restaurant menus. Most of them top out at around half that much for a regular entree and a customer would have to add beverages, appetizers, and dessert to reach 3k.


If processed foods are why Americans overeat (and they, and their abundance, price and marketing is why), then they are not part of the problem they are the problem.

Americans overeat unprocessed food as well. Look at portions and calorie counts in restaurants.

On the flip side of portion size, the giant portions restaurants give out in the US means that my wife and I can split almost any meal we get when eating out.

Cuba has no money to purchase said solar panels.

China, the main seller of solar, has publicly stated that Cuba is not paying their bills

https://www.ft.com/content/9ca0a495-d5d9-4cc5-acf5-43f42a912...


Can you share the article with a non-subscriber?

Edit: the name of the article is catchy: "China is not Cuba’s sugar daddy’: ties between communist nations weaken"

Edit2: This is a summary of the FT article in spanish by a cuban newspaper. I suppose the most important arguments and data are included here https://www.14ymedio.com/internacional/china-senala-falta-vo...

Edit3: Thanks for the transcript. And someone shared the article here https://archive.ph/tz2Sf


It is the only communist nation in the Americas, was the first in the western hemisphere to recognise the People’s Republic of China and is described by Beijing as “good brother, good comrade, good friend”.

But despite their shared political legacy — and what Washington says is a history of Chinese spying activity from Cuba — the island’s economic collapse has hurt commercial ties with China just as Beijing’s strategic rivalry intensifies with the Caribbean island’s arch-enemy, the US.

Chinese trade with Latin America has grown more than tenfold over the past two decades and continues to surge: China has become the second-largest trading partner for the region, after the US. But the import of Chinese goods to Cuba fell from $1.7bn in 2017 to $1.1bn in 2022, the last year for which Cuban data is available.

The two countries do not release data on Chinese investment in Cuba, but Cuban economist Omar Everleny said it amounted to a “laughably small” proportion of the roughly $160bn Beijing invested in Latin America and the Caribbean between 2005 and 2020.

China’s President Xi Jinping greets Cuba’s first vice- president of the Council of State Miguel Diaz-Canel at the Great Hall of the People Miguel Diáz-Canel, now Cuba’s president, meets Chinese president Xi Jinping at the Great Hall of the People in 2013 © Ed Jones/AFP/Getty Images Chinese companies involved with state-backed deals were owed large sums by the Cuban state, said people briefed on the debts. Major Chinese companies such as Huawei and Yutong “are owed hundreds of millions of dollars each”, said an overseas businessperson who trades with the island.

Scant raw materials and an unproductive economy leave the island with little to export to China, while imports have diminished in recent years as hardened US sanctions severely aggravated Havana’s chronic late-payment problems and dried-up credit lines.

Since the Covid-19 pandemic, sugar production on the island — once a critical industry — has plummeted to its lowest levels in more than a century: there is barely enough sugar to cover domestic requirements. That has resulted in the scrapping of a long-standing agreement to export an annual 400,000 tonnes of sugar to China.

“China is not Cuba’s sugar daddy,” said Fulton Armstrong, former US national intelligence officer for Latin America. “It’s mostly a relationship of solidarity statements. It’s not a strategic relationship for either country.”

An employee organizes cigars at the Partagas cigar factory in Havana The Partagas cigar factory in Havana. Cuba still exports nickel, zinc and luxury cigars to China © Yamil Lage/AFP/Getty Images Cuba today does not even feature among China’s top-tier allies in Latin America. Beijing has what it calls “comprehensive strategic partnerships” with Argentina, Brazil, Chile, Ecuador, Mexico, Peru and Venezuela, all major commodity exporters, but not with Cuba.

China publicly supports Cuba’s right to choose its own path to economic development “in line with its national conditions”, but privately Chinese officials have long urged the Cuban leadership to shift from its vertically planned economy to something closer to the Chinese model, according to economists and diplomats briefed on the situation.

Chinese officials have been perplexed and frustrated at the Cuban leadership’s unwillingness to decisively implement a market-oriented reform programme despite the glaring dysfunction of the status quo, the people said.

The paifang architectural arch at the entrance of Chinatown in Havana Havana’s Chinatown © David Silverman/Getty Images The fraying of trade ties forms a stark contrast with recent decades. After more than 10 years of extreme scarcity after the Soviet Union collapsed, an influx of imports in the early 2000s made such an impact that Chinese brands became part of the Cuban vernacular.

“Taking the Yutong” is now synonymous with “taking the bus” in Havana, while Cubans — experts in gallows humour — baptised the hundreds of thousands of leaky Haier refrigerators imported as part of Fidel Castro’s “Energy Revolution” to improve energy efficiency as “Drippys”.

Cuba has been a member of China’s Belt and Road global infrastructure development initiative since 2018 and China remains the island nation’s second trading partner after Venezuela, which sends the country oil in return for Cuban doctors.

Beijing and Havana have a cyber security agreement, and over the past two decades Chinese groups Huawei, TP-Link and ZTE have installed fibre optic cables, WiFi hotspots and other digital infrastructure throughout the island.

But Chinese imports are “way down . . . overall”, said one western businessman based in Havana. “Exporters are shifting away from the China-Cuba credit lines and moving to the private sector.”

Cuba still exports nickel, zinc and luxury cigars to China, leases doctors in return for hard currency payment, and co-operates on biotech.

Cuban President Miguel Diáz-Canel has twice visited Beijing and brought back politically useful handouts, including medical equipment during the pandemic, a $100 million donation last year and thousands of tonnes of rice donations this year. But he has been unable to coax greater economic integration.

“The Chinese don’t give away a lot of charity,” said William LeoGrande, professor of government at American University. “The Cubans right now are in a position where they need charity, and they don’t have much to offer in return.”

Beijing also has a much lower-profile security relationship with Havana than does Moscow, which is openly focused on Cuba’s geopolitical value as a close neighbour of the US. Russian naval flotillas have docked in Havana twice this year in a show of military strength. Russian trade with Cuba has surged in recent years, driven by US sanctions on both countries and the war in Ukraine.

There have been reports suggesting China has renewed efforts to take advantage of Cuba’s strategic location with electronic eavesdropping stations on the island.

Recommended

The new economic nationalism China’s new back doors into western markets The Center for Strategic and International Studies, a Washington think- tank, said in July there were “growing signs that China’s economic and political leverage may be opening doors for its military and intelligence services in Cuba”. US secretary of state Antony Blinken said last year that Chinese spying operations in Cuba were “a serious concern”.

But asked about the CSIS report, a US state department official said the Biden administration believed its “diplomatic outreach has slowed down [China’s] efforts to project and sustain its military power around the world”.

LeoGrande said some in Florida and Washington were keen to create a “Chinese bogeyman in Cuba”. “It serves the interests of conservative Cuban-Americans, who are always looking for reasons not to improve US-Cuban relations, and in the broader policy community it serves the interest of those who think that China is a global threat.”

This story has been amended to clarify that Huawei and Yutong are not owned by the Chinese state.


Cuba has been going through a crazy major decline ever since COVID. It's pretty rare for a mostly developed country to collapse into poverty without a war.

Roughly 5% of the population is fleeing the island each year: https://miamiherald.com/news/nation-world/world/americas/cub...


> It's pretty rare for a mostly developed country to collapse into poverty without a war.

Since when was Cuba, post Castro, anything other than impoverished?


That’s not fundamentally wrong, but you are missing the degree of change. Shit has gotten so bad, so fast, relative to what it was before.


I'm not missing anything. I was very clearly implying one specific point that Cuba has never been a "mostly developed country" and has been impoverished ever since Castro and the communists took over.


For the vast majority of the population it was impoverished even before Castro.


Cuba was the richest or second richest country in the Caribbean before Castro


Eh, maybe the big landowners and elites. Reminds me of the modern US.


It was that way, and yes suffered continuous population exodus to Florida on homemade rafts, since... EVER. It's simply a "bad country" overall and it has very little to do with Castro or Communism. It never had a permanent population of any considerable size that lived there voluntarily - pre-Columbian Taino people were extremely few in numbers, and lived in a completely prehistoric manner compared not just to Latin American native American pre-Columbian civilizations of same era, but even to North American first nations. Because only people who would live there were losers who were pushed out from everywhere else.

After that, vast majority were slaves, brought continuously by force, because they kept dying and dying and even with insane birth rate of the era there was no chance to ever sustain their population without continuous imports. And there was no way to make agriculture profitable without this horrible exploitation.

After slavery, population was... whoever didn't have balls to step on a raft and sail to Florida. This country is simply not made for living. Centuries of continuous negative selection because of massive one-way emigration and no immigration at all, took a genetic toll, too.

It doesn't exonerate Castro or Commies in general, of course they built a social model that beats even North Korea in dysfunction (North Korea at least made nukes), but just for a fact, Cuba is a useless place to live and if it was free and democratic, it would be very, very sparsely populated with people living there only for specific purposes of exploiting natural resources/shipping/fishing, but not permanent argicultural let alone industrial settlement.


i would describe US sanctions as economic warfare


A lot of research labs run consumer hardware for cost reasons and we are still quite far away from non-Mac ARM desktops being available to consumers.

The problem is that most of the consumer hardware manufacturers, from motherboards, to CPU coolers, etc are all geared towards AMD and Intel.


Ubuntu has more updated packages, which is better for a desktop system

Debian has testing, which can sort of get close, but it's not debian's specialty


Optimizing Python extensions is becoming increasingly important as Python is used in more and more compute intensive environments.

The key for optimizing a Python extension is to minimize the number of times you have to interact with Python.

A couple of other tips in addition to what this article provides:

1. Object pooling is quite useful as it can significantly cut down on the number of allocations.

2. Be very careful about tools like pybind11 that make it easier to write extensions for Python. They come with a significant amount of overhead. For critical hotspots, always use the raw Python C extension API.

3. Use numpy arrays whenever possible when returning large lists to Python. A python list of python integers is amazingly inefficient compared to a numpy array of integers.


> Optimizing Python extensions is becoming increasingly important as Python is used in more and more compute intensive environments.

I have always loved how the trick to making Python better eventually comes down to not writing Python.


Is this not expected? You're never going to have any language with the kind of dynamism that Python/Ruby/JS have while also having performant number crunching simply because Python has to do more significantly more work for the same line of code. You could envision a world where a JIT could recognize cases where all that dynamism falls away and you can generate code similar to what you would get in the equivalent C but that's just a fancy way to not write Python again. You would be writing in this informal not super well defined restricted subset of Python that JITs cleanly.

The problem time immortal is language complexity vs the ability to hint to your compiler that it can make much stronger assumptions about your code than it has to assume naturally which is where we got __slots__. And there's lots of easy wins you could get in Python that eliminate a significant amount of dynamism-- you could tell your compiler that you'll never shadow names for example, that this list is fixed size, that you don't want number promotion but they all require adding stuff to the language to indicate that.

When you're looking from the bottom up you end up making different trade-offs. Because while you get nice primitives that generate very tight assembly when you need that dynamism you end up having this object model that exists in the abstract that you orchestrate and poke at but don't really see, like gobject. Ironically, HN's love-to-hate language C++ gives you both simultaneously but at the cost of a very complicated language.


> You're never going to have any language with the kind of dynamism that Python/Ruby/JS have while also having performant number crunching simply because Python has to do more significantly more work for the same line of code.

Wrong. With strong types you do have ability to tell the compiler that most of the dynamic checks and hooks can be omitted, and values can stay unboxed. Python, ruby, perl choose to ignore types so far. And Javascript, PHP did at least dynamic optimizations with their type hints.


>> You're never going to have any language with the kind of dynamism that Python/Ruby/JS have while also having performant number crunching

> Wrong

Can you give examples of languages that achieve both? Or is this all just on a spectrum? Like if we say C# is performant, it’s still the case that (eventually) the way to make it faster is “stop writing C#”.


> Like if we say C# is performant, it’s still the case that (eventually) the way to make it faster is “stop writing C#”.

That has stopped being true a few years ago and in some cases was never true.

The way for a faster C# codebase is writing faster C#. .NET CoreLib including all performance-sensitive paths like memmove is written in pure C#, and the VM (by that I mean all reflection bits, TypeLoader, etc.) itself, excluding GC, is also pure C# when you are using NativeAOT.

The optimization techniques to achieve this are but not limited to using monomorphized struct generics, stack buffers, arenas and memory pooling, using SIMD API (which has the same performance characteristics as intrinsics in C/C++), not allocating by using structs or making object lifetime GC friendly if allocations cannot be avoided, making otherwise safe code bounds check elision friendly, reducing indirection, etc. Many of these are exact same as what you would do in languages like C, C++ or Rust.

As a result, the use of FFI to call into C/C++/Rust/ObjC/Swift(upcoming native Swift ABI support)/etc. today is predominantly relegated to accessing necessary OS APIs and libraries.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

Of course most of these optimizations are at odds with "dynamism" and yield the speed-up by making the dispatch static and inlining-friendly, and giving the compiler more information it can prove and make use of. Not to mention C# (together with Swift) sits the closest to the metal among otherwise high-level languages by virtue of what .NET is and what its ILC and JIT compile IL to.


So, no examples? :)

That’s my gut feeling, that writing fast C# basically ends up looking like C++/Rust/etc where the niceties of C# are no longer present.

Which is the same as rewriting Python in cython. It’s way faster, and it doesn’t look like Python, or have the benefits of Python, and now just looks like weird C.


Most common optimization path is simply removing the junk and making the code drastically simpler, using appropriate CoreLib APIs and similar. A C family language that looks like other C family languages, very surprising.

Is there something specific you would like to see an example for?


Why not go all the way and limit the times you have to interact with Python to zero ;)


Because if your users want python, you have to convince them they don't want it. If you fail, you'll have made optimized code that nobody uses.

Another strategy is to actually serve your users


Because then you have the warts of the new language, and the pain of migrating code, which could be 100s or millions of lines, to worry about...


People have been trying to move away from COBOL since I was a kid and I’m not even young.


Totally agree, keeping the interface with the extension as thin as possible makes sense.

I hadn't considered object pooling in this context, it might be more involved since each node has distinct data but for my use case it might still be a performance win.

Have you ever used pyo3 for rust bindings? I haven't measured the overhead but I have been assuming that it's worth the tradeoff vs. rolling my own.

(I'm the author)


My last workplace used pyo3 for a project. It was slower than vanilla Python, and you picked up all the normal compiled-language problems like slow builds and cross-compilation toolchains.

I wouldn't take away from that observation that pyo3 is slow (it was just a poor fit; FFI for miniscule amounts of work), but the fact that the binding costs were higher than vanilla Python computations suggests that the overhead is (was?) meaningful. I don't know how it compares to a hand-written extension.


That's pretty surprising, because I have also extensively used PyO3 in my daily job and it was quite performant. Your comment does seem to suggest that you were also using the `numpy` crate or similar in addition to `pyo3`, which performance might be more variable than I would expect for PyO3 though. (I personally minimized the use of `numpy` for that reason, but didn't have a particular performance issue with it anyway.)


I'd definitely be curious to know what specific runtime operations PyO3 inserts that you don't have to do with the C API. Naively it doesn't seem like there should be any, since Rust has zero-overhead C FFI.


Sorry, "FFI" was a shorthand for "mixing and matching two languages' GC expectations, memory layouts, ..." and all the overhead associated with merging something opinionated, like Rust, with something dynamic, like Python. You almost certainly _can_ reduce that overhead further, but unless somebody has gone out of their way to do so, the default expectation for cross-language calls like that should be that somebody opted for maintainable code that has actually shipped instead of shaving off every last theoretical bit of overhead.

It's been a few years, so I really can't tell you exactly what the problem was (other than the general observation that you should try to do nontrivial amounts of work in your python extensions rather than trivial amounts), but PyO3 agrees with the general sentiment [0] [1], or at least did at roughly the same time I was working there.

[0] https://github.com/PyO3/pyo3/issues/679

[1] https://github.com/PyO3/pyo3/issues/1470


You'd also run into this if you wrote your native extension in C, right?


re: 3, Python has a native numeric array type https://docs.python.org/3/library/array.html


We should probably get rid of that. It is old (predating numpy) and has limited functionality. In almost every case I can think of, you would be better off with numpy.


If you don't want to add a dep on numpy (which is a big complex module) then it's nice to have a stdlib option. So there are certainly at least some cases where you're not better off with numpy.


Even better if Python adds a mainline pandas/numpy like C-based table structure, with a very small subset of the pandas/numpy functionality, that's also convertable to pandas/numpy/etc.


What kind of subset would you have in mind? I think that any kind of numeric operation would be off the table, for the reasons given in PEP 465:

"Providing a quality implementation of matrix multiplication is highly non-trivial. Naive nested loop implementations are very slow and shipping such an implementation in CPython would just create a trap for users. But the alternative – providing a modern, competitive matrix multiply – would require that CPython link to a BLAS library, which brings a set of new complications. In particular, several popular BLAS libraries (including the one that ships by default on OS X) currently break the use of multiprocessing."


Numpy is incredibly widespread and basically a standard so I would propose: It should have exactly the same layout in memory as a numpy array. It's fine if it has a very limited set of operations out-of-the-box. Maybe something like get, set, elementwise-arithmetic. Work with numpy project to make it possible to cast it to numpy array to help the common case where someone is fine with a dep on numpy and wants the full set of numpy operations.


The best they can do without BLAS. Doesn't have to be as fast as numpy, just faster and more memory efficient than doing it in native Python, without the dependency.


It just should be native support for Apache Arrow.


A performant table data structure with powerful and convenient syntax for interaction is one great feature Q has that Python lacks.


array is for serializing to/from binary data. It isn't useful for returning from a library because the only way a python programmer can consume it is by converting into python objects, at which point there is no efficiency benefit. numpy has a library of functions for operating directly on the referenced data, as well as a cottage industry of libraries that will take a numpy array as input. Obviously someone might end up casting it to a list anyways, but there is at least the opportunity for them to not do that.


multiprocessing.shared_memory.ShareableList can be useful in some circumstances, even if you don’t intend on sharing it across processes. It allows direct access to the data, elements are mutable (to an extent; you can’t increase the size of either the overall list or its elements once built), and since the underlying shm is exposed, you can get memoryviews for zero-copy.

The downside is they’re on the more esoteric side of Python, so people may not be as familiar with them as other structures.


Cython implements a C api for accessing the underlying data structure.

Arrays implement the buffer interface so they can be used efficiently with tools like numpy.


Re: 3, you can also use Python’s array.array in some circumstances. If you have heterogeneous types, don’t need multiple dimensions, and don’t need Fortran memory layout, they’re a good choice IMO, and one that doesn’t require pulling in 3rd party packages.


I have thought Python's arrays have been overlooked for years. So much so that people call a list an array.


Re: 2, is there any good repo with raw C Python API that can be used as a reference for someone who is not too proficient in C? I took a look at numpy but it seems too complicated for me


I've found rapidfuzz to be a good, digestable C/Python integration. It's especially nice as the algorithms implemented in C frequently have good pseudocode or other language representations, so you can reference really well. The docs are in reasonable shape as well:

https://github.com/rapidfuzz/RapidFuzz


You mind elaborating on what exactly you’re looking for? Maybe I can help point you in the right direction, but right now, it’s not clear given your description.


> 2. Be very careful about tools like pybind11 that make it easier to write extensions for Python. They come with a significant amount of overhead. For critical hotspots, always use the raw Python C extension API.

Agrees on the broader point (and I don't like pybind11 that much anyway), but the raw Python C extension API is often hard to use correctly. I would suggest that you should at least have a rough idea about how higher-level libraries like pybind11 would translate to the C API, so that you can recognize performance pitfalls in advance.

> 3. Use numpy arrays whenever possible when returning large lists to Python. A python list of python integers is amazingly inefficient compared to a numpy array of integers.

Or use the `array` module in the standard library if that matters. numpy is not a small library and has quite a large impact on the initial startup time. (Libraries like PyTorch are even much worse to be fair, though.)


3. The memoryview interface is often a good solution.


I think you mean the buffer interface?

I think the buffer interface is too complex to provide directly to users. I think an API that returns numpy arrays is simpler and easier to understand.


Memoryviews abstract the buffer interface as an object, so perhaps that’s what was meant.

I disagree with the inclination to jump to numpy. I much prefer minimizing 3rd party libraries, especially if the performance is equivalent or nearly so.


I discovered memoryview when looking at the JACK Python library. It is pretty neat. But also one of those things I wouldn't have known to look for.


> If it's that simple, do you have a theory for why it's not the go-to solution that gets implemented?

Most of the voting population are homeowners who have a vested financial interest in the cost of housing always going up.

So anything that makes housing cheaper is politically difficult.


I'm actually willing to be more charitable than that. For many homeowners, less restricted zoning and construction would actually increase the value of the land by more than it would decrease the value of the dwelling (imagine converting a few single family homes into a multi-story apartment building, that's a _much_ more valuable use of the land). So, at least in some cases, it isn't entirely about their own personal enrichment. Lots of people do have honest desires to not see the "character" of the neighborhood change.

Now, I personally think that A) a static neighborhood is a slowly dying neighborhood and B) when almost every neighborhood acts this way the cumulative negative effects on society quickly become profound, but I can at least understand why, and can see the impulse as not an entirely selfish one. It's just naive and short sighted.


> For many homeowners, less restricted zoning and construction would actually increase the value of the land by more than it would decrease the value of the dwelling (imagine converting a few single family homes into a multi-story apartment building, that's a _much_ more valuable use of the land).

But a huge chunk of them don't think that way and they want to maintain the "character of the neighborhood." I've seen this first hand multiple times. My own grandparents once tried to argue with me against any sort of expansion because it would mean some people would be effected and have to change their lifestyle or pay for changes as a result of, for example, expanding city sewer services.


> current economics cause a lack of stability for people to move forward in their lives

All of our data points in the opposite direction. The more wealth you have, and the more stability you have with government safety nets, the less likely you are to have children.


True, but birthrates start to go back up once you get into very elite quantities. The proles have kids, and the empire-builders have kids. The professionals in the middle don't.


1. You want an odd number so the median is the middle element of the sublist.

2. One and three are probably too small


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: