HN2new | past | comments | ask | show | jobs | submit | cousin_it's commentslogin

There seems a bit of inner conflict in what you're saying. If retailers "revitalizing a neighborhood" leads indirectly to them getting priced out due to rising land values, isn't it also true that poor people living in the neighborhood get priced out at the same time? Is it a good or bad thing to make a neighborhood more hip, is the retailer a hero or a villain?

It's absolutely the case that poor residents get priced out and do not necessarily benefit from a neighbourhood becoming hip.

The cool new retail is tangentially to blame through second order effects, but the real problem is the inflexibility of the system in responding to change which results in a shortage of housing, which means that the disruptive impact on low income persons is really severe as they have no where to move to when things become more expensive or they are evicted.

Much like how the solution to increasing retail rents is more flexibility in retail zoning, so to is the solution for increasing rents.

It's less of a big deal if a cheap lame neighbourhood suddenly becomes cool if you can easily bail out because there's plenty of affordable apartments elsewhere. The problem we're in is that there's a general shortage and so in many places, losing a long held apartment is like an existential crisis because everywhere else is even more expensive and there's a shortage.

Another approach is that in redeveloping "cool" areas we could increase land/property taxes and developer fees so as to recapture the land lift and divert toward public realm projects that benefit existing long time residents. The area becoming cool and getting new condos pays for the new pool and new below market housing.

Should be mentioned as an aside that the actions themselves of poor people can ultimately gentrify a neighbourhood just as much as retail. A neighbourhood can become known for a vibrant arts/music scene that ultimately gentrifies it not just because it has some bars, but because the working artist residents are they themselves creating the attracting works in putting on events and shows. They earn a meagre income as working artists but ultimately may displace themselves as condos come advertising themselves on the scene that they've created.

Cyclical neighbourhood change I think is inevitable so I think what we really need to focus on is not necessarily finding ways to keep neighbourhoods the same, but giving people and retailers options so that when change happens, it's not disruptive and painful.


> Much like how the solution to increasing retail rents is more flexibility in retail zoning, so to is the solution for increasing rents.

The solution is less money for landlords and definancialization of real estate, especially housing.

While zoning flexibility helps it's not near enough on its own because of inertia creating a low upper limit on its effects.


Depends whether or not the city allows other neighbourhoods to exist/grow/change. If the total floorspace in the city is fixed in regulations, then ofc anything done to improve conditions will hurt people on the bottom. The people who can afford a "revitalized neighbourhood" would happily live in brand new housing built on top of land in the nearby mansion district, displacing no one, but city planners do not allow that - new apartments can only be added to the city stock by destroying old ones, new store floorspace can only be added by destroying old etc. This forces everyone to play musical chairs with too few chairs and the only winners are those who own the chairs.

I heard that in Japan, it's common for condo developers who want to buy out smaller buildings to compensate the owners with an equal amount of floorspace in the new building - not sure how common that practice actually is, but what a way to align incentives!

I think a common thing in Greece was that owners themselves would redevelop their properties much denser, retaining an apartment or two of equal floorspace to their own home, and then leasing or selling out the others to fund the redevelopment of lot.

This sort of flexibility would be really welcome in North America but SFH neighbourhoods are frozen in stone, so when the nearby high street becomes cool, all the little former working class single family homes become million dollar homes that can only be purchased by the rich, and the working class people that may have previously rented them are booted out to who knows where.


Long term residents may own their properties, protecting them from rent increases and letting them share in the wealth should they sell up and move.

For various reasons it’s extremely rare for retail businesses to own the buildings they operate out of.


You aren’t looking at it in the long term view. Yes that works for people who have been living by there for 40 years since the area was not so nice. But how they are rich (housing value increase) and no one new who is not rich can move it. Eventually the people who have been there long will die and it will only be for the rich.

A hero. It's pretty simple. No need to complicate things.

Just like saving a (healthy) life is a good thing, even if you can spin some stories about the dignity of death or whatever.


By that logic making an area worse deliberately is a win for affordability.

Maybe off topic, but I couldn't help thinking that "we need to show a heart icon" -> "let's use a heart emoji because it's easy" -> "let's use a specific emoji font for consistency across platforms" -> "let's import it from Google Fonts every time" seems like a problematic developer mindset.

A better heuristic is always keep in mind not only developer efficiency, but also program efficiency. I'm not saying optimize everything, but keep program efficiency in mind at least a little bit. In this case, that would've led the developer to download a tiny SVG or PNG and serve it from the app itself. Which would've avoided the problem in the post, and maybe other problems as well.


Not off topic at all!

While in this case we’d included the emoji font for displaying user content in another part of the app, the hazard of letting a “simple” approach expand and get out of hand is part of what I wanted to convey in writing this.


I agree that the font and emoji hops aren’t great for complexity or performance, but the problem in the post was in the rendering of a tiny SVG; serving it directly would not have avoided the problem.

Not OT at all. Emojis everywere are ridiculous. And coding agents love them! They put emojis in Python log lines which inevitably break the console, and of course in web pages. Logs don't need emojis. Not sure if anything does.

I have a very vague idea about how consoles work (I mean we're talking about terminals, like, terminal emulators right?), so probably that's why I don't understand how the usage of emojis break one.

I use a lot of different OSs, and none of the default terminals seem to have any problems with emojis, even cmd on windows (which isn't even default anymore?).

So detaching from the main theme of if the use of emojis is a good idea from the start, may I get more details on how your console breaks? :)


I love using emojis in my log lines, especially symbols for info/warn/error, but it does add another layer of complexity as you have to go through so many things to make sure the text is now rendered in the right font, has Unicode support enabled, etc, etc.

I would say just reusing widely-used emojis you have already downloaded would be less error prone

... assuming it all works ofc (though you could say that about serving svgs too)


> MacOS is fairly constant

Except when they killed all 32bit games a few years ago with Catalina.


I think that GP meant that MacOS has a constant nonzero rate of platform churn. I might be wrong though!


Oops, yes, I meant a constant non-zero rate. It's slightly above mobile phones, where the developer is treated as the problem that needs to fix itself.

Stuff written for one version of MacOS will probably work for the next few versions, but there's just as likely a chance that Apple has decided that you need to do a full on update of all your older tools. Things like dropping Rosetta, 32-bit from the kernel and so on and so forth. There's not really any recourse, unlike Windows and Linux where you can usually finagle a workable solution without having to resort to updating everything all the time (so platform churn exists, but a user can theoretically choose to avoid it).

This is unlike phones, where there's basically no real expectations for when you need to update stuff, so it becomes a case of "you need to test every version". The lack of respect for tool stability is just one other reason why the mobile ecosystem is the user-hostile hell it is; this platform churn pretty much is one of the two roots of why mobile apps are Like That. (The other being that running your own choice of tools is treated as a privilege, not a right.)


Maybe I'm old, but I still think a repository should be a repository: sitting on a server somewhere, receiving clean commits with well written messages, running CI. And a local copy should be a local copy: sitting on my machine, allowing me to make changes willy-nilly, and then clean them up for review and commit. That's just a different set of operations. There's no reason a local copy should have the exact same implementation as a repository, git made a wrong turn in this, let's just admit it.


> And a local copy should be a local copy: sitting on my machine, allowing me to make changes willy-nilly, and then clean them up for review and commit.

That's exactly what Git is. You have your own local copy that you can mess about with and it's only when you sync with the remote that anyone else sees it.


I agree but I think git got the distributed (ie all nodes the same) part right. I also think what you say doesn't take it far enough.

I think it should be possible to assign different instances of the repository different "roles" and have the tooling assist with that. For example. A "clean" instance that will only ever contain fully working commits and can be used in conjunction with production and debugging. And various "local" instances - per feature, per developer, or per something else - that might be duplicated across any number of devices.

You can DIY this using raw git with tags, a bit of overhead, and discipline. Or the github "pull" model facilitates it well. But either you're doing extra work or you're using an external service. It would be nice if instead it was natively supported.

This might seem silly and unnecessary but consider how you handle security sensitive branches or company internal (proprietary) versus FOSS releases. In the latter case consider the difficulty of collaborating with the community across the divide.


"There's no reason a local copy should have the exact same implementation as a repository, git made a wrong turn in this."

Who is forcing you to keep a local copy in the exact same configuration at upstream? Nothing at all is stopping you from applying your style to your repos. You're saying that not being opinionated about project structure is a "wrong turn"? I don't think so.

I think most "ground truth" open-source repos do end up operating like this. They're not letting randos push branches willy-nilly and kick off CI. Contributors fork it, work on their own branches, open a PR upstream (hence that name: PULL Request), reviews happen, nice clean commits get merged to the upstream repository that is just being a repository on a server somewhere running CI.


> I still think a repository should be a repository: sitting on a server somewhere, receiving clean commits with well written messages, running CI. And a local copy should be a local copy: sitting on my machine, allowing me to make changes willy-nilly, and then clean them up for review and commit

This is one way to see things and work and git supports that workflow. Higher-level tooling tailored for this view (like GitHub) is plentiful.

> There's no reason a local copy should have the exact same implementation as a repository

...Except to also support the many git users who are different from you and in different context. Bending gits API to your preferences would make it less useful, harder to use, or not even suitable at all for many others.

> git made a wrong turn in this, let's just admit it.

Nope. I prefer my VCS decentralized and flexible, thank you very much. SVN and Perforce are still there for you.

Besides, it's objectively wrong calling it "a wrong turn" if you consider the context in which git was born and got early traction: Sharing patches over e-mail. That is what git was built for. Had it been built your way (first-class concepts coupled to p2p email), your workflow would most likely not be supported and GitHub would not exist.

If you are really as old as you imply, you are showing your lack of history more than your age.


But scalpers don't take money from you.

Consider a second-price auction: everyone submits bids, the highest bidder gets the resource, and pays the price submitted by the second-highest bidder. This is incentive-compatible: everyone is incentivized to submit the maximum amount they're willing to pay, no more no less. Does it matter if the resource is being sold by its original owner or a scalper? No. Who gets the resource and how much they pay depends only on which people wanted the resource and how much. The only loser from the scalper's existence is the original owner, because they sold to the scalper too cheaply.

If there are villains in this situation, they aren't those who extract market price: a scarce resource was always going to be sold at market price. If the price is set lower, people will line up in queues and so on, to "burn" an amount of patience and time equal to the price difference in their eyes. Except in a queue all participants end up spending this "burn", so it's strictly more wasteful for society than a market where only the winner pays.

No, the real villains are those who engineer the market so the resource is scarce to begin with. In case of housing: not landlords, but people who vote for laws restricting housing construction. In other words, most homeowners. That's the unpleasant conclusion that people are trying to ignore when they blame landlords, price fixing and so on.


That’s fine as a “second order” rebuttal, but you’re leaving out _third_ order effects which are where all the action is in terms of the unique horribleness of real estate rental.

The world is full of goods that share many of the nasty features that the real estate rental market has. For example, it’s not hard to find goods where:

- The value partially derives from the limited supply

- The limited supply is artificially limited by forces that the market cannot correct for (either because law prevents entrance of new competitors, or because would-be competitors are colluding to form a cartel that is deliberately restricting it)

For instance, taxi medallions and diamonds meet these criteria.

What makes rental housing special is other qualities:

- The vast majority of a rental property’s value derives from its proximity to publicly funded resources which the seller did not create themselves. If your tax dollars pay for a new park, the value of that park is vacuumed up by the landlords near the park. (This is what it IS to be an economic rent… thus the name.)

- Demand at the low end is extremely inelastic. People have to live somewhere if their life is entangled with that city. Compare with diamonds or taxi medallions, which you can opt out of.

- In theory, most landlord-tenant relationships operate on a year-long cadence because it mixes flexibility with predictability. The renter doesn’t have to commit their life to staying in a particular city for multiple years just to please some landlord, and the landlord gets to re-auction the rental rights by re-setting the price once a year, keeping up with the going market rate. However, in practice, most renters end up wanting to stay more than one year, and are not mentally or logistically preparing to move. Thus, a substantial price increase is disruptive. You might be tempted to say that the real problem is that the renter went in blind without guarantees about what they were really getting signed up for, and thus a fix could be to secure much longer leases which schedule the rent increases up front. However, as the lease duration goes up, the chances go up that the renter experiences changes in life circumstance that make it impossible or intolerable to continue renting. Barring the creation of a society of debt prisoners, the landlord will inevitably end up enduring lease breaks. Because the switching cost is uniquely high, this creates a fundamental dilemma: people don’t want to move until they do, yet they need to be prepared to move frequently - unless they secure longer leases, which they can’t realistically promise to honor.

So yes, you have cartel behavior and supply distorted by out-of-band zoning restrictions that the market can’t correct, but those are par for the course. The real anger comes from the fact that a place to live isn’t really a “good” in the first place - everybody needs one, and while a roof over your head and good plumbing is worth _something_, the rent you’re paying is driven primarily by a segment of our society _preventing_ you from being able to live close to the public center unless you pay their troll toll. This is where the perceived injustice comes from. When you layer in the Gordian knot of lease duration, rent increase, and the high switching costs, that’s when people really start to hate you.


I love the kind of science reporting on display in this article! It stays at a consistent, objective level of detail throughout (no "imagine a vector space as a block of jello" or whatever it is that Quanta and other publications are always doing). It allows specialists to understand exactly what's being claimed, and at the same time stays accessible to laypeople. It feels like it's written for the kind of reader that I aspire to be: not necessarily a specialist on every topic under the sun, but someone who has finished high school and is paying attention.

Though I guess writing like this doesn't pay off in the modern world. Most readers don't consistently pay attention when reading, and to be honest, I don't either.


For many publications you could be critisizing, I'd agree with you, but Quanta usually reaches a higher standard that I feel they deserve credit for. Here's the Quanta article on the same thing [1]. It goes into much more detail, it shows a picture of the perfect sofa, and links to the actual research paper. They're aimed at a level above "finished high school", and I appreciate that; it gives me a chance to learn from the solution to a problem, and encourages me to think about it independently.

I agree with you that Quanta doesn't always "allow specialists to understand exactly what's being claimed", which is a problem; but linking to the research papers greatly mitigates that sin.

[1] https://www.quantamagazine.org/the-largest-sofa-you-can-move...

And here's how they clearly explain the proof strategy.

> First, he showed that for any sofa in his space, the output of Q would be at least as big as the sofa’s area. It essentially measured the area of a shape that contained the sofa. That meant that if Baek could find the maximum value of Q, it would give him a good upper bound on the area of the optimal sofa.

> This alone wasn’t enough to resolve the moving sofa problem. But Baek also defined Q so that for Gerver’s sofa, the function didn’t just give an upper bound. Its output was exactly equal to the sofa’s area. Baek therefore just had to prove that Q hit its maximum value when its input was Gerver’s sofa. That would mean that Gerver’s sofa had the biggest area of all the potential sofas, making it the solution to the moving sofa problem.


I agree that Quanta can be irritatingly stretchy with the metaphors sometimes, but to be fair, "What's the biggest couch you can fit through this hallway corner" is inherently easier to explain to laypeople than like, the Riemann Hypothesis.


ζ(z)=0⇒-z/2∈ℕ ∨ Re(z)=1/2

i.e. if you apply the zeta function to a complex number, and you get zero, then that number must have been either a negative even integer or had a half as its real part.

What could be simpler than that? Those are all fairly simple concepts, and the definition of the function itself is nothing too exotic. I think any highschooler should be able to understand the statement and compute some values of zeta numerically. I'd like to see a statement about couches written so succinctly with only well-defined terms!

(I'm being intentionally a bit silly, but part of the magic of the Riemann Hypothesis is that it's relatively easy to understand its statement, it's the search for a proof that's astonishingly deep.)


>What could be simpler than that?

At risk of being tongue-in-cheek, a monad is just a monoid in the category of endofunctors, what's the problem?


You need analytic continuation to define the zeta function at the places you are asking for zeros.


That's a good point. I do remember doing problems related to extending formulae outside the radius of convergence in my final year before university, but I don't think it's fair to ask for proper complex analysis from 17-year-olds.

As penance I did go an have a look for suitable numerical techniques for calculating zeta with Re(s)<1 and there are some, e.g. https://people.maths.bris.ac.uk/~fo19175/talks/slides/PGS_ta...


Have you talked to a high schooler recently...?


Fair point, I was basing my comment on what the curriculum expects of students, rather than the bleak reality.


Agree, but I wanted more. What is the intuition behind the optimality proof? I realize you cannot summarize a 119-page paper in two paragraphs, but still.

Edit: This article from September has a bit more: https://www.popsci.com/science/gervers-sofa-problem-solved/


It’s a simple problem that you can explain to kids, hence the no jello. And they don’t even begin to describe how the solution even looks like!

So I don’t think this article can even qualify as a good example for explaining math problems to laymen.


Right, but if it's noticeably hotter than the environment, then that temperature difference could be used to drive a heat engine and get some more useful work. So the knee-jerk response "omg, we see the heat from space? it's gotta be wasteful!" is kind of correct, in theory.


Some people are saying "waste heat" in the technical sense of "the heat my industrial process created and I need to get rid of" and others are saying "waste heat" as "heat humans are emitting into space without slapping at least one Carnot engine on it yet".


If the heat being generated were economically worthwhile, the miners would be incentivized to use it to offset their costs. Since they aren't, we can somewhat reasonably assume that it would cost more to recapture than it's probably worth.


Is it the same as flipping every parenthesis to the other side of the number it's adjacent to, and then adding enough parentheses at the start and end?

For example,

    (1 + 2) * (3 + 4)
becomes

    1) + (2 * 3) + (4
and then we add the missing parentheses and it becomes

    (1) + (2 * 3) + (4)
which seems to achieve a similar goal and is pretty unambiguous.


Recently seeing lots of paywalled articles on HN that quickly get tens of upvotes before they get any comments.


Wow, this works for any number of colors.


Yes it does :)

What a fun little result.


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

Search: