惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Archives - TechRepublic
Security Archives - TechRepublic
罗磊的独立博客
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
The Register - Security
The Register - Security
J
Java Code Geeks
V2EX - 技术
V2EX - 技术
Vercel News
Vercel News
N
News and Events Feed by Topic
腾讯CDC
P
Proofpoint News Feed
N
News | PayPal Newsroom
www.infosecurity-magazine.com
www.infosecurity-magazine.com
爱范儿
爱范儿
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
D
Docker
Y
Y Combinator Blog
博客园 - 聂微东
G
Google Developers Blog
S
Security @ Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
S
Schneier on Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
阮一峰的网络日志
阮一峰的网络日志
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
CERT Recently Published Vulnerability Notes
I
Intezer
G
GRAHAM CLULEY
有赞技术团队
有赞技术团队
Attack and Defense Labs
Attack and Defense Labs
V
Visual Studio Blog
博客园 - Franky
博客园 - 三生石上(FineUI控件)
W
WeLiveSecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
Scott Helme
Scott Helme
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LINUX DO - 最新话题
C
Cybersecurity and Infrastructure Security Agency CISA

Hacker News: Front Page

SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads GitHub - GainSec/AutoProber: Hardware hacker’s flying probe automation stack for agent-driven target discovery, microscope mapping, safety-monitored CNC motion, probe review, and controlled pin probing. Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Virginia Bans Sale of Geolocation Data Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Ancient DNA reveals pervasive directional selection across West Eurasia [pdf] AI cybersecurity is not proof of work Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. A Better Ludum Dare; Or, How to Ruin a Legacy GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent Codex Hacked a Samsung TV Tech Valuations Back to Pre-AI Boom Levels A perfectable programming language — Soter GitHub - halfwhey/claudraband: Claude Code for the Power User Partnership through Play: Investigating How Long-Distance Couples Use Digital Games to Facilitate Intimacy Textbooks and Methods of Note-Taking in Early Modern Europe (2008) Eternity in six hours: Intergalactic spreading of intelligent life (2013) Seven countries now generate 100% of their electricity from renewable energy Tell HN: OpenAI silently removed Study Mode from ChatGPT Pro Max 5x Quota Exhausted in 1.5 Hours Despite Moderate Usage Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card) Tell HN: docker pull fails in spain due to football cloudflare block Bring Back Idiomatic Design No one owes you supply-chain security GitHub - xsawyerx/curl-doom: DOOM, played over cURL Apple update turns Czech mate for locked-out iPhone user The Grand Line Cache TTL silently regressed from 1h to 5m around early March 2026, causing quota and cost inflation Building a Z-Machine in the worst possible language The peril of laziness lost Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda AI Will Be Met With Violence, and Nothing Good Will Come of It GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The disturbing white paper Red Hat is trying to erase from the internet – OSnews NetBlocks (@netblocks@mastodon.social) The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong The FAA wants gamers to apply for air traffic control jobs Artemis II crew splashes down near San Diego after historic moon mission Why weekends are under threat We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Keeping a Postgres queue healthy — PlanetScale Serenity Forge (@serenityforge.com) Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? Uncharted island soon to appear on nautical charts The Problem That Built an Industry Fragments: April 2 Python Release Python install manager 26.1 Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Harness engineering: leveraging Codex in an agent-first world Apple Silicon and Virtual Machines: Beating the 2 VM Limit What have been the greatest intellectual achievements? The APL Programming Language Source Code
Why do commercial spaces sit vacant?
Andrew Burleson · 2026-06-17 · via Hacker News: Front Page

In yesterday’s mailbag post, Matthew Yglesias responded to a question about why commercial spaces sometimes sit vacant for years at a time. Matthew’s answer started off on the right track, then veered off course. So, as one does, I quickly fired off a note in response.

That note went (and is still going) more viral than anything else I’ve written this year. Fun! There were a lot of questions for clarification, and a few asks for me to expand this into a post.

So here’s an expanded version of the note. For any email subscribers who didn’t see the note, I hope this is interesting. I have a feeling that a more complete explanation won’t be as viral as the short note, but for those who found the note compelling I hope you’ll share this article widely and give others something to bookmark.

To start, here’s the question that inspired this post:

Can you explain why it makes economic sense for landlords in high-priced metros to keep commercial real estate empty for years at a time? … I understand there's a lot of social pressure on landlords to keep rents high or face the wrath of their neighbors, but how can that pressure still work after ten years of losses?

The short answer is both simple and surprising: in many cases, lowering the rent on a building will force the bank to foreclose on it.

Foreclosure is very bad for both the bank and the operator, so both parties would rather “extend and pretend,” leaving the building vacant while they wait and hope for the market to change.

This seems absurd. Surely everyone would be better off it they just lowered the rent and got some use out of the building — getting some rent must be better than getting no rent, right?

Intuition fails because normal people think of a building as a building, when in the majority of cases, a building is not a building, but a financial product. Behavior that makes no sense for buildings can make perfect sense for a financial product.

To understand this I’ll offer a simplified explanation of commercial real estate, and the “extend and pretend” dilemma.1

The first reason our intuition fails us is that very few normal people buy and sell building-sized financial products — or financial product sized buildings. But most of us will buy or sell a home, or know people who have. This gives us some intuitions about how “property” works:

  • The value is mostly determined by the market — roughly, whatever someone else would be willing to pay for it.

  • Home mortgages are mostly based on the purchaser’s ability to pay.

  • Thanks to extensive federal government programs2, most residential mortgages are long-term amortized, meaning they’re designed to be fully paid off by regular payments over time.

These ideas lead us astray, because none of this applies to the commercial, or “income-producing” market. For commercial property:

  • The value is determined by the income the building will produce.

  • The loan is based on the building’s ability to pay.

  • Loans are typically short-term balloon notes, meaning they are notdesigned to be fully paid off by regular payments over time.

Let’s walk through a toy example to explain how these three factors can lead to an “extend and pretend” situation.

The story starts with a building operator and a bank deciding what a building is worth. To figure this out, the operator is going to make a financial model that projects the income that a building will generate.

First, the operator forecasts that the net rent (after expenses) will be $1M per year.

Second, the operator assumes a Capitalization Rate (or “cap rate”) for the building. In plain English, the cap rate is what percentage of the buildings total value it will generate in income each year. So, if we say the cap rate is 5%, that means the building will generate 5% of its total value as income each year.

The operator forecast the building will generate $1M a year in net rent, if that’s 5% of the value, then the value is $1M / 0.05 = $20M.

If that’s confusing, another way to think of the cap rate is the “payback time” for the investment — 100 / cap rate (as an integer) is payback time: 100 / 5 = 20 year payback.

You may wonder how the cap rate is determined3, the simple answer is the owner and the bank negotiate and agree on a number.

The important thing to understand here is that the actual building is not an important part of the value calculation. We’re not really looking at the replacement cost, the unique design, the amenities, the location, etc. Those things influence the assumptions about the gross rent we can get, or the cost of operating the building (higher cost means less net rent), but at the end of the day it isn’t the building that has value, it’s the income stream.

We’ve decided that our income stream (aka building) is worth $20M, now let’s make a loan.

Banks are highly regulated, so they can’t just loan whatever they want. The government insists that banks keep high margins of safety in their portfolio, and commercial loans are risky, so the terms they can offer are designed to limit risk.

First, the loan term will be shorter than a residential mortgage, anywhere from 5-20 years, with most in the 5-10 year range. Second, the bank must keep a strict loan to value ratio - so they won’t lend more than 80% of the value of the building (and often less than that).

For this example, let’s assume the bank offers an 80% LTV loan, with a 5-year term, interest-only at 4%.

That means the building operator has to pay $4M, and gets $16M from the bank, to buy the building for $20M. They then have to pay $640k in interest every year, and in five years they have to either pay off the $16M balance, or refinance it. (The plan will be to refinance.)

The operator buys the building and gets to work filling it with tenants.

Now suppose that 3 years into this project it turns out the building operator was wrong, there isn't enough demand at the building's high rent, so the building is 50% vacant.

Half empty, the building is only generating $500k per year in net income instead of $1M.

The owner is paying $640k in interest, therefore losing $140k per year operating the building. That sucks, surely he should lower the rent, right?

Let’s imagine the owner lowers the rent by 30% to fill the building.

Now the net rent is $700k. The owner is still paying $640k on the loan, therefore earning $60k per year. So everyone is better off, right?

Wrong!

Remember, the building isn’t a building, it’s an income stream. Before, the operator and the bank had a model that said the operator would be able to make $1M per year. Now, reality has proven the operator can only make $700k per year.

700k per year is not worth $20M. Given our agreed-upon cap rate of 5%, this proven $700k per year income stream is only worth $700k/0.5 =$14M.

In this scenario, the building has proven to only be worth $14M, but the operator owes $16M to the bank, so he is now $2M underwater on the loan. In two more years he’ll have to pay off the full $16M, and he doesn’t have that much cash, so he’ll need to refinance.

Since the building (income stream) is worth $14M, and the bank can only lend 80% LTV, the maximum new loan will be $11.2M, meaning the owner has to put another $16M - $11.2M = $4.8M cash in to keep the building.

The hard truth at this point is the operator overpaid, and the most logical thing to do would be to walk away from the building and lose the $4M he invested. And that really sucks for the operator.

It also really sucks for the bank, because the bank now has an asset (the loan) they paid $16M for and can only sell for $14M, so the bank is also taking a $2M loss in this scenario.

The thing is, both the operator and the bank can do this math too, so they know this is coming and want to avoid it.

When year five rolls around and the loan on the building comes due, both the original bank and the owner would like to avoid losing a combined $6M. And so long as the operator can afford to keep losing $140k per year on the building… they can!

What they need to do is stick to the original model. Don’t lower the rent. Just claim that there was a blip in the market, nobody could have seen that coming, it’s all going to be fine.

The bank can offer the operator to extend the loan on the original terms, based on the original model, and give income stream more time to materialize.

The only sticking point here is that the building operator is still losing $140k per year. But remember that if he gives up, he loses the $4M he’s already put into the building. Even if he ended up paying $140k per year for 10 years before things turned around, losing $1.4M is still better than losing $4M.

So both the operator and the bank have a lot of incentive to extend and pretend, rather than lower the rent and face the consequences of having overpaid for the building.

In Andrew Miller’s restack he asked if I could add “some thought about an alternative to the status quo, because the situation we have is CLEARLY suboptimal.”

Honestly, I don’t think there’s a simple fix here. Financialization means we have way more capital available to build much bigger and nicer buildings than we did in the past. But it turns buildings into financial products. It’s not obvious to me that we could stop that without also killing the supply of capital to build and buy large buildings. I can’t guess how that would play out, so I also can’t say if it would be worth it.

The obvious thing cities could try is to put more pressure on building operators to fill their spaces, but the building operators are already under a ton of pressure — they’re losing a bunch of money! So, cities could do something like put a vacant storefront tax and… make them lose even more money? If that “worked,” the mechanism would be to force a lot of commercial property to default, which could put a lot of new space on the market at lower prices, which should lower the commercial rent. But it would also hurt the banks a lot, which has a history of leading to bad consequences and subsequent bailouts.

I’ll give this some more thought, but if any actual commercial real estate professionals have ideas I’d love to hear from you in the comments!

The original note sparked a lot of questions, so I’ll answer a few more variations on this here.

Misha Valdman asked:

If the system allows you to pretend that the vacancy is temporary, why doesn’t it allow you to lower rents on the pretense that lower rents are also temporary?

This does happen sometimes: it’s packaged as “incentive offers,” like 50% off the first 12 or 24 months rent, or 6 months without rent, etc, that lower the average rent over the life of the lease without lowering the “list price.” That’s common in residential leases, and I know it happens sometimes in commercial leases, but I don’t know how prevalent it is.

CJ asked:

Your response makes sense for big commercial buildings, but I thought the core of the question to Matt was just about retail frontage - typically only the bottom floor of a multistory residential building.

Sometimes mixed use buildings are condominiumized such that the retail and residential portions are separately owned and have separate financing, so the same logic applies. I don’t know what percentage of mixed use buildings take that approach though.

My understanding is that in mixed use buildings “financed whole” the retail portion is seen as more of an amenity cost for the residents - like having a pool or a gym. I would guess that in such buildings owners would want a tenant the residents like and wouldn’t be too sensitive about the rent. That seems like a better arrangement — but again I don’t really know how prevalent different financing structures are among that building type.

CJ noted that “in places like Seattle and SF and LA the city requires these retail spots and a lot of developers just don’t even think about them when deciding whether something pencils. And then an equal amount of effort goes into renting them.” That sounds right to me.

Oliver Libaw asked:

Does “extend and pretend“ really account for commercial properties that sit empty for 10+ years?? There are a bunch near my home in West L.A. that have been vacant for a very very long time.

Maybe! “Extend and Pretend” is common in any situation where the developer or operator has overpaid for property. So, think of properties bought right before a recession (or pandemic). But, this isn’t the only reason that properties sit vacant.

Another scenario I can think of is that the financial model for the building requires spaces to be filled by “credit tenants,” meaning name-brand businesses of a certain caliber and creditworthiness. If that was part of the terms of the loan, than it could also be that the building operator just can’t find a qualified tenant, and again as long as the operator can keep covering the loss it is better for both the operator and the bank to let the space sit vacant than to blow up the financing.

Actual commercial real estate professionals could give you many more reasons than I can — there are many, many possible explanations for why any particular retail or commercial space is struggling. But “the financial model made assumptions that haven’t pan out” is often the reason behind unintuitive outcomes.

Thanks for reading! If you liked this explanation more than the short note, please share it and help this post reach more people.

Share

Discussion about this post

Ready for more?