Hacker Newsnew | past | comments | ask | show | jobs | submit | more bhauer's commentslogin

> prioritizing some pretty little visual animation over actual functionality

This describes iOS in a nutshell.


The step-up in cost basis on death is the original sin that underpins the entire debate over unrealized gains.

It's disheartening to see so much thought and deliberation going into an obviously toxic idea (taxing unrealized gains) when the obvious solution (removing the cost basis step-up when assets change hands) is being ignored.

Inherited wealth is the least earned, so it should be politically palatable to change this. But presumably because such a change would acutely affect the people who make laws in the country specifically, it is never seriously considered.


Maybe there's just no good solution here, but I think the original inspiration for this sort of law was about family homes. It's one thing to inherit stocks and have to sell some of them off, but it's much more complex to try to pass down a property that can't be arbitrarily subdivided. There are various options obviously, but I think enough people had to sell their beloved childhood home because of the tax obligation that came with the inheritance that someone thought there ought to be a law. Maybe your idea plus a carve out for a primary residence could work, but it doesn't seem politically feasible to me.


First of all, the estate/gift tax does not kick in until 13 M$, so that already covers that case.

Second, it is irrelevant. The capital gains tax that would be due on a normal step-up in basis during life is independent of the estate tax.

Assume there was no exemption and you bought stocks 20 years ago for 100 K$ that are now worth 1 M$. If you die, then your estate would need to pay estate taxes on 1 M$.

However, if instead you sold it the day before you died, you would need to pay capital gains on 900 K$. Then you pass away with N $ = (1 M$ - taxes) in cash. Your estate would then additionally need to pay estate tax on N $.

The step-up in basis is the difference between these cases. Your inheritors get your capital gains (step-up in basis) tax-free, but you still need to pay the estate tax.


Family homes rarely exceed $13M but farms and ranches can get up there. Seems like it should be easy to exclude agricultural land, but there's second-order consequences.

If farms and ranches are the best place to hide family wealth, then family wealth will pour into agricultural land. That inflates values and pushes out the actual ranchers and farmers. If farming is just a byproduct of your tax-avoidance strategy then you are unlikely to try too hard at it. We actually need farms, and nobody wants them to become tax-avoidance shells.


Yeah, I was thinking that despite the fact that the ultra wealthy use TFA's loophole, people who don't (i.e. net worth < $300M as the author explains) have a situation where:

A - In a universe with cost basis step-up on death, they die with gains taxed at 0% and then pay 40% estate tax on everything.

B - In a world without cost basis step-up on death, they die with gains taxed at the 20% long term rate and then pay 40% estate tax on what remains.

Thus:

The step-up causes less tax revenue by percentage from the >$300M crowd who use the BBD strategy, but it causes more tax revenue by percentage from the $13M<crowd<$300M who do not use the BBD strategy. The latter pay more tax with option A! 20% on a chunk and 40% on the remaining chunk is less government revenue than just 40% unchunked, especially if the capital gains being realized on death are a majority of the net worth.

I wonder which crowd has more worth-at-death in aggregate (in the absence of BBD and the like -- if estate tax were to be paid by all, no loopholes), given that the less wealthy crowd is a much larger population.


No, that is not how the math works.

N is your cost basis. M is the gain. E is the estate tax. G is the gains tax.

((N + M) * E) is tax on the automatic step-up, option A.

(M * G) + (N + M - (M * G)) * E is the tax on the non-automatic step-up, option B.

Reorganized to ((N + M) * E) + (M * G) * (1 - E), it is clear that option B is strictly more taxes for any estate tax less than 100%.


:slaps_forehead:

Of course, it would be long term (20%) and estate (40% but on slightly less), not one or the other. Mea culpa.


This is just a guess, but I think it might be more about the government not wanting to put valuations on complex assets. Let’s say I own a network of dry cleaners in Los Angeles. It’s a private business with no public business to compare it against. Cash flow is X, but is the business worth 10 million, 20m? How is the government supposed to determine what it’s worth? Now, let’s imagine your business is Koch Industries. We know it’s worth many billions but there’s a VERY broad range of what it might be. Without taking the stock public, its basically impossible even for top investors to value (investment bankers who value businesses for a living get it wrong all the time), let alone the government.

Even public businesses are not trivial to value for very large shareholders who don’t have the ability to easily sell all shares at once without moving the market quite a bit. But in any case, removing this loophole would just encourage the ultra wealthy to put their money into opaque businesses and then try to “value” them as low as possible. So it’s not so easy to fix.


Nah, the original inspiration wasn't about family homes. It was introduced in 1921, 5 years after income taxes became a thing, and was an attempt by Congress to remove a kind of double taxation that could (at that time) happen with estate taxes.

You would pay an estate tax (on the total value of something, regardless of its cost). And then you'd still (when you eventually sold it) owe capital gains tax.

Regardless of whether you think that particular reasoning makes sense, it definitely doesn't make sense if there's no estate tax (which there effectively isn't for most due to the multi-million dollar exclusion) since there's no risk of double taxation.

Step up basis was actually repealed in 1976. But there was immense pushback at the time around record keeping and Congress eventually agreed and retroactively cancelled the new law.

Whether the answer would be different today in this age of computerised record keeping .... ?


Isn‘t this a false dichotomy? Removing the cost basis step-up doesn‘t automatically mean any taxes are due on the inheitance - you could just keep the low cost basis and pay the tax once you actually realize your gains.


Exactly, today people get both: they inherit the assets with a stepped up basis, and also don’t pay tax


Don't you need money to pay the estate tax?


Oh, good point. For that, you could allow people to pay off estate taxes over multiple years, if the tax is higher than the available liquid assets.


Make an exemption for a primary residence. Everything else can go. Stop letting people hoard wealth like dragons.


There is already a 13.something million dollar exception. If the house is worth more than that it should be taxed anyway.


Without a cap, overpriced 8- or 9-figure residences will themselves become the vehicle of wealth transfer, rather than irrevocable trusts.


Make a cap on the value of house. What do people need $100 million stupid ugly houses for anyway. None of these billionaires have good taste anyway.


No. People have a right to their property, including wealth.


We're talking about what happens when someone dies. The estate tax already exists. Is that a violation of the right?


Is it that common for people to hoard dragons?


No, you have to be very wealthy to afford one.


I have twelve.


> It's one thing to inherit stocks and have to sell some of them off

More or less having to do that would be good for society and mildly annoying for the like five dozen existing corporate dynasties on the planet.


I think it was more about family businesses where the family would have to sell the business just to pay the taxes on it. Farms are also this way.


What are you talking about? Removing the step up basis doesn’t force anyone to sell anything. It just means when the asset is sold that capital gains are due—just as they would be if the original owner had sold it while alive—instead of disappearing into thin air.


This might be unpopular but I think there are ways that taxing unrealized capital gains could work without being super radical.

1. Allow unrealized losses to be deducted.

2. Once a certain percentage of the gain is taxed, step up the cost basis by the amount of tax paid. That way you avoid double taxation (once under the unrealized value and again when the asset is sold).

3. (optional) Keep the tax rate on unrealized gains low. Even 3% would be significantly higher than what we have today.

Under this logic, it almost seems like a no brainer. People who have a ton of wealth in unrealized gains would pay taxes progressively over time instead of being hit with a massive tax bill when they sell (or potentially no tax bill when they die due to the step up in cost basis). Feel free to poke loopholes in this idea.


> 1. Allow unrealized losses to be deducted.

This seemed really reasonable to me until I started thinking about how it might work in practice. The sequence of returns can make this proposal ineffective in practice, even if it makes sense on first blush.

By way of explanation: Let's say you're the founder of Pets.com in an alternate universe where unrealized gains have always been taxed (and correspondingly unrealized losses can be deducted). It's 2000, and you've just had an incredible run. You have also paid incredible taxes along the way.

Then your company blows up and goes to zero.

Now you've payed an incredible amount of taxes on your paper gains, and have realized no gains whatsoever. So the entire enterprise only resulted in an enormous real loss to you. Sure you can now carry forward those losses, but so what? You're never going to make up the difference, unless we're also letting your heirs carry forward those losses into the next century or two.

Given the exposure to massive tax bills without any actual profits, who in their right mind would start or invest in a business under that tax code? Who would dare invest a large portion of their personal worth in public equities given the risk that they plummet, as they did in 2022, 2020, 2008, 2001, 2000, 1987, 1962, 1929, 1907, etc.? Who would take a gamble on a big real estate development? And so on.

It seems to me that a tax on unrealized gains massively disincentivizes investment and the creation of anything new, and therefore the only way to tax capital gains that makes sense is if we calculate the tax due based on when chips are taken off the table. Issues like Buy, Borrow, Die are better addressed with other changes to the tax code that undo the weird incentivizes presently in place (e.g. eliminating the step-up basis, possibly at some threshold if the goal is to make the tax code more progressive). Unless, that is, your goal is to actively disincentivize entrepreneurship and investment. Which if it is, I guess fair enough, but then none of us should be surprised to find ourselves with a lower standard of living in a decade as a result.


I think what you do is simply tax stock ownership. Say you own 100 shares of stock. A 2% tax would mean the government would confiscate 2 of your shares, so you then own 98 shares. The government then proceeds to sell their confiscated shares on the open market (not at once, but spread out over the next year) and use the proceeds as tax revenue. You as an investor can maintain your 100 shares of stock by simply buying back the shares on the open market (or not and so pay a smaller capital gains tax than you otherwise would when you sell. This is your cost basis being adjusted). This also doesn't necessarily disincentive investing, as the tax proceeds can be used for funding jobs (ie investment), and owning stocks can still be worthwhile.

That said, I don't see why there's a need for a deduction here. There isn't one for property taxes. Sure there is one when you sell your property at a loss, and that's also already the case when selling stock. Additionally such a tax like this won't ever cause you to lose your entire stock ownership as it's always based on a fraction of your ownership. And, last but not least, you could also impose caps or progressions.


This tacitly assumes a pretty naive model of how these markets work. The dynamics of poor liquidity, dead equity, stock restrictions, intangible asset loss, etc materially change the outcomes you can expect. In many cases it may cost the government more than the revenue generated, and the counter-party as well. This doesn’t work like your retirement account. Similar types of scenarios historically created by civil litigation have had many adverse consequences to business in practice.

And property taxes are deductible in the US. I’m not sure where you got the impression they aren’t.


>This tacitly assumes a pretty naive model of how these markets work. The dynamics of poor liquidity, dead equity, stock restrictions, intangible asset loss, etc materially change the outcomes you can expect. In many cases it may cost the government more than the revenue generated, and the counter-party as well

In all seriousness, that is extremely unlikely to be the case, especially in broad terms. I mean, to purchase public stock at all you already must do so from a licensed broker, who mind you, is already required by law to report the cost basis of shares purchased by investors. To require them to regularly move 2% of shares owned by investors, to the government's ownership, would be rather trivial in cost to do. Hell, it could be completely automated.

And the cost of it doing that would likely be much less than property taxes, which, is a far less liquid asset, and much more costly to assess than equities, but is nonetheless profitable to tax. I mean the SP500 alone has a market cap of ~$47 trillion, which is, surprising almost the same exact value as the entire US real estate market, but much more liquid.

Additionally, whether it is even profitable at all could be besides the intent of the tax here. It doesn't necessarily have to be profitable, from which perspective, poor liquidity and changes in outcomes isn't a problematic at all. It could be even the intent.

> And property taxes are deductible in the US. I’m not sure where you got the impression they aren’t.

Okay fair. I suppose you could do something similar, but also don't see why it's necessary, just because we do so for other taxes.


The vast majority of wealth is not traded on a liquid market like the S&P. Your scheme only works in nice divisible liquid assets.

Otherwise, when do you expect the government to actually realize its gains? If I have a house I intend to live in until I die and the govt take 2% of my stake away each year, when would it be allowed to force a sale to realize it?

Do I just lose my house once it has a majority stake? Does it just wait until I die? If it does, how is this better than an inheritance tax that is significantly easier to implement?


Taxing unrealized capital gains already isn't all that radical -- property tax is effectively a tax on unrealized gains of property value, and essentially every municipality has that tax.


> Taxing unrealized capital gains already isn't all that radical -- property tax is effectively a tax on unrealized gains of property value, and essentially every municipality has that tax.

Property taxes are a use tax (roads, police, fire, schools, etc), apportioned base on property value, it is not a capital gains tax.


Property taxes do not take into account the amount you paid for your house, so they are not a tax on unrealized gains since the gains are not calculated. You could be underwater on your mortgage and you would be taxed just the same.


Property tax is a straightforward wealth tax on a certain class of asset, not a tax on appreciation.


Nope it is not. Property tax does not take any gains into account - it's tax on full value (with possible exemptions) not gains, you pay the same regardless whether you bought it for $1 or $1M. Except of course in California where they have this weird scheme which led to the fact that my next door neighbor paid less than half of the property tax I did for pretty much identical house (because they bought it in the 80s) - which looks like negative tax on gains.


In addition to what everyone has already said, property taxes paid are also very explicitly deductible from income taxes. They’re more like an indirect transfer from the Federal government to municipalities, and don’t necessarily result in a substantial aggregate increase in tax burdens.


Deductible modulo SALT cap.


Why isn’t every person defending this idea mentioning this fact. It’s so obvious once you mention it.


Except (sort of) California

Also, there is a real debate to be had about if housing should be primary considered an investment or a basic need by society. Many argue that the focus on housing as an investment in the US is a primary driver of our housing problems.


Property tax is very unpopular, at least where I live.


Another thing that could be fixed if we wanted to ensure that wealthy people actually pay taxes during their lifetime would be to treat taking out a loan using an asset as collateral as effectively the same thing as selling the asset and buying it back at the same price. They then have to pay capital gains.ize

Taxing unrealized gains in general I think is impractical since many assets simply don't have well-defined valuations, but if you take out, say, a $10 million loan using, say, shares in a privately traded company, then those shares are apparently worth $10 million dollars because the owner and the bank agreed they were.


From what I can tell the idea was to make sure people would have to sell the family farm or house to pay taxes on unrealized gains on inheritance. It makes no sense to apply that to financial assets.


No, but be careful where you draw the line. In particular, don't draw it between "real estate" and "financial assets". Real estate can easily be a financial asset. Instead, the trick is to draw it between "family farm" and "billionaire who bought 100,000 acres of prime farmland".


Seems straight forward enough, put a value cap on it. $10 million? 20 million? Is anyone going to feel bad for the poor soul who can't pay the tax bill on a free 20 million dollar home?

We have a limit on gifts and according to this is 13 million. Just make it that.

What would be the downside here other than extremely wealthy having to pay some taxes upon death?


Make inheritance count toward the gift limit. Have the full $13M limit left on your gifting exemptions? You pass down $13M in inheritance tax free.


That is literally already how it works.


It's simple really, many people don't see it as a "free home".

It's your home. It's no more free or unfree, earned or unearned than anything else.

The home that I grew up in is.. hell, I'd consider it to be "mine" and my siblings more than almost anything else I have.


If that home is over 10, 13 or 20m dollars... you can pay tax on it. If you have siblings, I assume it would be divided between you, so multiply value by siblings.

If you got a home worth that much, you can pay some taxes on it.

https://www.mansionglobal.com/articles/more-than-1-500-homes...

1,500 homes sold for over 10m in a year. We're talking about the richest of the rich. That's exactly who should be paying some taxes. The people bitching about losing 'their' home this way... are either a) delusional or b) looking for a way to protect their incredible wealth.

Is your family home worth more than 10 or 20m dollars?


I can pay taxes on one dollar. It's the principle.

In my country our threshold is significantly lower by the way - it's around a million, so bog standard houses get hit by it.

I think that inheritance taxes are wholly equivalent to wealth taxes, e.g. "you have a thing, I like that thing, give me that thing", and therefore morally wrong.

I could agree with them on the basis that the money were minimal and solely used for security e.g. police and military, it's an insurance policy against theft, the Government has a monopoly on force and that's better than warlords.

It's not used that way though, so I reject the premise.


Basically, you don't believe in government except to protect you from others who might take, while you have would have to ability to take advantage of others freely. No basic humans should be satisified by the government.

That's exactly what the ultra wealthy seem to generally believe too. Sorry that many of us reject your premise that you should be freely protected to screw over everyone else and think that's a moral decision (it's not, but I won't waste my time).


No house costing a million is just a bog standard house. It's a mansion; if not in size then at least in value.


The greatest privilege I suppose I have is that I am able to consider a bog standard three bedroomed terraced family house as being normal regardless of how much bad Governmental policy has managed to inflate the market value.


In Hawaii my house is 870k for a three bedroom built in the 50s on a medium plot. I still agree with your argument other than that.


There are different things that make house/apartment above normal. One is of course size and age. But other things like location have big influence as well (check apartments in central Manhattan).

Instead of trying to analyze hundreds of different what-makes-house-above-bare-minimum aspects we can simply use the price as a good indicator of the underlying value.

And 1mil house is definitely not bare minimum. It is clearly above average.


I'll hand it to you that a $1mm home is definitely valuable, however in my case, living on an island, it's not like I can trade it for anything much less valuable, so it's pretty much non-fungible if you assume I will move from a home I own to another home I own nearby. Sure, if I sell here and move to North Dakota I'll be a wealthy individual there, but I am not going to be doing that. Also, if I sold this and rented, I would have a payment that's 50-65% of what I have in this mortgage, but then even if I have a large equity gain from selling I still have to assume I'll use that money over time to rent, so I'm even again. Homes here are more of an impediment to financial success than in most places. People move away from Hawaii, where they grew up, because it's so unaffordable for normal folks. I am lucky that I am well-employed when I have a job (not right now) and can afford to pay this huge payment in order to secure my children's future housing. They will certainly be well-off with a paid-off home here, but that's rarer these days with a lot more people with new families renting here. I'm not really sure what your point is about the home value in this situation. On the mainland it's a little different because you can move 60 minutes away from most places and find cheaper housing, even if it isn't your favorite place. Here on the islands, you can't just move to a cheaper place, everything is expensive here unless you want to move into a literal shack.


> I'm not really sure what your point is about the home value in this situation.

Everything started with another account saying "In my country our threshold [for inheritance tax] is significantly lower by the way - it's around a million, so bog standard houses get hit by it."

So my point is that 1mil house is not a "bog standard house", whether we look globally or in the USA-only.

Sure, there are some spots in the world in which the average price of the house is going to be higher. But that's irrelevant. It only means that the location is what making that house exceptional.

I understand your practical considerations/explanations about living in an extremely costly place where everything (housing, food, etc) is expensive. But the decision to stay there is on you. "if I sell here and move to North Dakota I'll be a wealthy individual there, but I am not going to be doing that" - is the crux of the issue.


>the obvious solution (removing the cost basis step-up when assets change hands)

Not as simple as it sounds...when you can set up original ownership of an asset into a trust and have control of that trust change hands.


moving the funds into the trust would be a taxable event, so I'm not sure what the problem is.


Trust owns the asset from the start. "original ownership"


That’s fine. Impute rent to the trust and have it owe taxes that way.

We need the political will, the legal problems are solvable.


It hasn't been ignored, it's been talked about since it got instated and it's never gotten the political traction to be repealed - sustainably! If you don't ensure it's dead, you end up with a corporate tax situation where entities defer taxable events until the law changes. At one point, you have to stop trying the same failed political approach (futile attempts to repeal the stepped-up basis) and try something new.


We already tax unrealized gains. The US has property tax. When you buy a house, you pay a tax based on it's worth. We just don't have a tax on legal fictions (paper property like stock). The question is, why not? Why can't we also tax that property?


Do you consider municipal property taxes (which, when the property value has risen since purchase, effectively taxes unrealized capital gains) also to be "obviously toxic"?


Yes. In regions where real estate prices explode many people are forced out of their homes because they cannot pay the increased tax. This specifically hits senior citizens hard. It's not uncommon for a property to increase it's taxes >30% some years in these boom towns. This creates an economic burden on long term residents, that is mostly used to pay for infrastructure that is needed to accommodate newcomers.


It's a pretty common belief. People having to sell/mortgage their family homes in order to pay higher taxes because their neighborhood is being gentrified is a self-feeding process. If they didn't have to pay taxes until they sold, it would seem far more just.


>Inherited wealth is the least earned

Let's be real. No wealth is 'earned'. It's almost entirely luck and social connections. No different from inheritance.

Besides, inheritance can be hard work, psychologically. Your parents may be in a very different socioeconomic group than you for most of your adult life. Your baseline expectation for a 'normal' lifestyle is somewhat elevated (due to the lifestyle you experienced in your childhood) but, for most of your adult reality, you're broke and you feel guilty knowing that your child (the only one you can afford to have) can't have the same childhood that you had.

You work like crazy just to try to earn a living to get back to 'normal' (what you experienced in your childhood) but, deep down, you know you that your best shot at getting there is inheritance in about 30 years' time when you're at death's door (because, with all the stress you experienced, you know you're not going to live as long as your parents). Your biggest worry is that your government will fall to communism and there will be no inheritance.

Your life was basically ruined since the start of adulthood as soon as you were confronted with the ugly reality that labor of any kind is worthless and capital is everything. A reality that your parents will never have to face.

If the government wants to be perfectly consistent and tax people based on how easy it was for them to earn money, then it should impose wealth tax since the amount of wealth tells you the amount of luck and social connectedness at play... And this will also impact inheritance to some extent, but to a fairer extent.


People can live a long time which can turn relatively modest investments with average returns into significant wealth. 21 to 101 is 80 years and cost dollar averaging kicks in.

Sure you could call a long life and decent job luck, but a lot of people live into their 90’s.


What do you call living to be 90 years old, if not very lucky? Again, luck.


You can do a lot to improve your odds of hitting 90 vs what actuarial tables show. Baseline may only be 15% but a very healthy lifestyle can get close to 50/50 which isn’t some major stroke of luck.


I work too hard and not rich enough to live to 90. I'm quite sure of that. Unfortunately, in my reality, I need to work extremely hard just to make ends meet which isn't enough surplus to offset the health problems I'm creating for myself.


I’m sorry you feel that way. Personally I radically reduced living expenses to get out of that kind of situation, but I understand every situation is different.


>No wealth is 'earned'.

What about the crazy hours that doctors often work?


This is probably the fairest way to earn big money but it's still not fully earned. The number of spots available in universities to become a doctor are limited based on some arbitrary rules (math and physics test-taking ability?) that have nothing to do with what skills are actually necessary to be a good doctor. There are some significant political shenanigans at play here too.

If the system was fairer and doctors experienced close to 'free market' competition, then I would agree 100%, but it's not the case.

I'm sure it's very difficult but doctors have it really good compared to other professionals who also work late and have to compete on a global marketplace with no professional protections/regulatory constraints.


[flagged]


[flagged]


> thinks reality is an uncorrupted, level playing field

Did I say that anywhere?

> Tell that to the kids in Congo who have to dig out Cobalt for free. That's actual reality and it has arrived in the west.

What does this have to do with the concept of someone "earning" something?


There's no point talking about this sort of stuff. If you have capital, just get your guns out. It's a more honest approach.


Agreed. Explicitness and comments are very useful in understanding the intended functionality and logic, whether or not the code actually implements that intent correctly (an in providing that intent, they can help identify bugs earlier than they would be identified otherwise).


But comments go out of date, and the compiler doesn’t check them against the implementation. To document + enforce the intended functionality, use tests.


Outdated context is miles better than no context in my experience. As long as the comment isn't intentionally misleading, it always helps a ton in piecing together what happened, even if the comment is factually wrong when it was written, because I can tell how the original author was mistaken and why it led to the current code.


Outdated comments are great, because it means you probably have a bug right there. If the comment didn't get updated, the code change probably didn't look at all the context and missed things.

Pretty sure I'm guilty of that pretty often.


Looking at someone else's code, how would you know which was out of date, the code or the comment?


Does it matter? If the comment doesn't match the code, there's a bug (in the comment or the code). Either way you need to spend time to understand the context and figure out the correct thing, not trusting either.


Looking at the commit history is a great start. Especially if your team actually empowers people to reject code reviews when the commit messages are unclear or insufficiently detailed.


git blame will show when lines in a file were last changed, and the commit that changed them


Comments (should) explain the "why" not the "what". The "why" doesn't go out of date, even if the "what" does.


Generalizations like that are theoretical, and don't always align with reality. There's nothing wrong with comments summarizing the "what", and in fact doing so is a good thing because it can describe anything from the intention of the code to the business logic. "This function merges array X with array Y, converting all the keys to lowercase because they will be used later by foo()."

The "why" can go out of date, e.g. "do X before Y because [specific thing in Y] is dependent on [specific thing in X]". If you rewrite Y to no longer be dependent on X, the comment is now out of date.

The reality is that any comment can go out of date at any time if the code it describes changes enough. But that's really no excuse for failure to maintain comments. Sure, in reality code is messy and inconsistently written, not even counting comments. Comments are an essential parts of your codebase, and while they are used exclusively by humans, that doesn't mean they are any less worthy of being updated and cultivated.


The why can also go out of date. Maybe not as frequently? I don't have a great intuition for the ratio, but it is certainly more often than never.


I dunno, the "why" for me is "why are we doing this, and doing it this way?". If that changes, but somehow the comment isn't changed, that would feel really strange. It's not just tweaking a few lines, it's rewriting the whole routine. If all the code changed but not the comment, that would have to be deliberate, and definitely picked up in code review.

Though, obviously, accidents happen, etc. But then that also happens with tests and everything else. I have definitely seen out-of-date tests in code bases, where the test is no longer relevant but still maintained.


So I actually find this helpful because if the why doesn't match the what (code), I know to look back at the history of changes and see why there is a mismatch. This is honestly a great signal that something might have gone sideways in the past while I'm trying to triage a bug or whatever. So even if the comments are out of date, they're still helpful, because I know to go look at why they're out of sync.


really good point, and well worth mentioning in the "code should be self-documenting and comments are unnecessary" debate.


tests -> verify intended functionality implementation (the how is right).

comments -> why intended functionality was implemented that specific way (marketing wanted X because of Y, so we had to do it like Z with a bit of A).

> But comments go out of date

Just like updating the tests when code is changed, update the comment when the code is changed.


Comments go out of date because of bad developers.

The same people who do the bare minimum for tests not to explode. But won’t add a new test case for the new branches they just introduced.

The same people who will mangle the code base introducing bizarre dependencies or copy paste the same piece of code rather than refactor.

People who fail to handle errors correctly. My favorite: by wrapping code in a if statement without an else. (else? Get a weird error without logs! Miles away from the call site!)

People who don’t validate inputs.

People who don’t give a monkey about adding context to errors making the thing impossible to debug in prod when they explode.

People who are too lazy or in incompetent to do their job properly and will always jump at the opportunity to save 5 minutes now but waste 5 hours of everybody else’s time later. Because of course these people can’t fix their own bugs!

And of course these are the people who make comments go out of date. I’ve seen them implement a thing literally the line below a TODO or FIXME comment and not delete the line.

Comments going out of date is a shit excuse for not writing comments as far as I’m concerned.

The fact that some people are incompetent should not drive engineering decisions. You should always assume a minimal level of competency.


> Comments going out of date is a shit excuse for not writing comments as far as I’m concerned.

I agree.

> Comments go out of date because of bad developers

I disagree.

Comments can also go out of date because

- developer is having a really shit time atm and their head is not in the game (bad looking after people management)

- developer is on a one day a week contract and doesn’t have the time in their contract to write big header comments explaining nuances (bad strategy)

- developer thought it looked obvious to them but it’s not obvious at review time (developer is being classic human)

- developer is getting pushed to deliver the thing now now now (bad workload management)

Most of those are the result of some decision made by someone who was not the developer (they’re all real cases). And they are the “non-code blockers” that good managers solve for us, so we can focus on getting good stuff done.

I’ve been where it seems like you are at. Blaming others for being bad didn’t help me. I had to lower my expectations of others, keeping my expectations for myself. Then get on about teaching willing people how they could be better. Might be making a few assumptions/projecting a bit there, but that’s my experience with “bad developers”.

Being any type of “leader” is lonely. Whether that’s an official role assigned to you or not. Or if it’s just a skill level thing. No one can quite match up to the expectations or understand what we see and why. But explaining it goes a long way with the right ones.


> Just like updating the tests when code is changed, update the comment when the code is changed.

Well, yeah. But the point is that tests can be run in a pipeline that can fail if the tests fail. Comments going out of date has to get caught by a human, and humans make mistakes.


> humans make mistakes

All software is built by humans in some way. All software has mistakes.

Perfection is an impossible goal.


Yeah but there's a fundamental difference between something like tests that can be checked automatically and comments, that have to be checked manually. Because of this, it can be assumed that comments will eventually go out of date.


Good PR review from a skilled and more senior developer catches these things, most of the time.

Just like how tests catch functionality issues , most of the time — bugs still exist in tested software, because people make incorrect assumptions about how/what to test, or implement the test wrong.

> it can be assumed that comments will eventually go out of date.

Don’t make assumptions. That’s just a lazy excuse for not trying.

The same thing could be said for tests

> it can be assumed that tests will eventually go out of date

So why should we bother updating tests? They’re just going to go out of date?!!

Because it makes the codebase easier to work with for someone brand new.

Same as comments.

Pay down the debt for the next person. The next person could even be you in a year’s time after working in a completely different project for 9 months.


Tests only test functionality, they don't test business context. Comments explain business context.

For example, "we have this conditional here because Business needs this requirement (...) satisfied for this customer"

Your comment can test the logic works correctly. But someone coming in, without the comment, will say "why are we doing this? Is this a bug or intentional? Is the test bugged, too?"

Now, they'll see it's intentional and understand what constraints the code was written under. Your test can't send a slack message to a business analyst and ask them if your understanding is correct. The original dev does that, and then leaves a comment explaining the "why".


> To document + enforce the intended functionality, use tests.

Tests go out of date

Tests increase the maintainince burden

The compiler does not ensure code is tested

Tests get duplicated

Mēh! Tests matter, and testing is very important. Good judgment is required

Just like comments.

Writing code requires professional care at every step. The compiler helps of course see, but being professional is more than writing code that compiles

It involves documents too. And tests. Not too many (tests or documents) but not too few

Undocumented code is an enormous burden to maintain (I am eyebrows deep in such a project now). It is not enough to just write code and tests, documents including inline comments, are crucial


Note in Rust if you include comments with code that will run as tests but be inline in your main code instead of having to find the relevant test function to confirm functionality.

https://doc.rust-lang.org/rustdoc/write-documentation/docume...


Go has something similar: functions marked as examples that are both run as tests and shown and run as examples in the documentation (https://go.dev/blog/examples)


Interesting. I don't know when that was implemented in Rust but clearly Go has had it for a long time, since that post is dated 2015.

While things like syntax are important, languages adding tooling like this (along with stuff like package managers) is so important to the continued evolution of the craft of software development.


You may be weird, but you're not alone. I too think this looks perfectly normal. I have written similar-looking code and comments (at least from a high-level point of view) for any components that I feel are critical to the reliability of the system. I've never subscribed to the "no comments" fad since my own comments have all too often been invaluable to future me when returning to the code after months or years of attention elsewhere. I can't imagine trying to piece together all of the embedded logic in a component of this complexity without solid comments.


> I thought we were talking specifically about banning billboard marketing.

While that is the overall conversation, this specific subthread is rooted on a comment suggesting a world without marketing wholesale.


> I remember the corners of the room all being rounded. It just felt better, more soothing?

It's funny. Here in the United States, I find houses with bull-nosed interior walls discomfiting. Something about all the rounded corners causes me mild distress. I find it much more comfortable being in houses with sharp-edged meetings of walls.


Even the default out of the box color scheme of WS 2003 was fantastic. Indeed the pinnacle of Windows UI design.


Black text on Grey background was nice. I am not sure why we switched to dark grey text on white background or light grey text on black background.


Exactly. As a mental exercise, people should consider how broad or narrow the functional domain needs to be for Level 3 (liability assumed by manufacturer) to be truly of note versus Level 2 (liability remains with owner).

Would a Level 3 system that only navigates parking lots at up to 5 MPH be notable versus a Level 2 system that drove everywhere? For me, a very narrow Level 3 system like Mercedes' is absolutely less interesting versus a very broad Level 2 system like Tesla's. The technical capability of Tesla's system is substantial. How important is taking liability, really, to the bigger picture of increasing the technical capability of autonomy? A narrow Level 3 system is not an entirely empty milestone, of course, but compared to the actual work of increasing driving capability, assuming liability seems like a game played primarily by deploying lawyers, not programmers.


> "Drivers can activate Mercedes's technology. called Drive Pilot, when certain conditions are met, including in heavy traffic jams, during the daytime, on specific California and Nevada freeways, and when the car is traveling less than 40 mph. Drivers can focus on other activities until the vehicle alerts them to resume control. The technology does not work on roads that haven't been pre-approved by Mercedes, including on freeways in other states."

It's remarkable how often these significant limitations are ignored.

The difference between SAE Level 3 versus Level 2 is liability, not functionality. Conceptually, it would be relatively simple to create a Level 3 system that only worked in parking lots and never drove over 5 MPH. And yes, such a system would be "Level 3," which naively sounds better than "Level 2" because the number is higher.

But you could compare such a system that works only in parking lots against Tesla's Supervised FSD Level 2 system which controls the vehicle at prevailing speeds on all city streets and highways, executes left and right turns, stops at traffic controls, executes U-turns, parks, and everything else. Tesla doesn't want to assume liability yet because they are still iterating fast. The last few builds have been released about two weeks apart.

The functional domain of a Level 2 system can be significantly greater than a Level 3 system. And that is the case when comparing Tesla Supervised FSD versus Mercedes Drivepilot. It remains commendable for Mercedes to take on liability, but we should not kid ourselves. Doing so is a play for cheap media wins and punchy-sounding milestones like what we see in this article. It's not actually moving autonomy forward in any meaningful way when compared alongside Waymo and Tesla FSD. The scope of the Mercedes system is simply too narrow.


> The difference between SAE Level 3 versus Level 2 is liability, not functionality. Conceptually, it would be relatively simple to create a Level 3 system that only worked in parking lots and never drove over 5 MPH. And yes, such a system would be "Level 3," which naively sounds better than "Level 2" because the number is higher.

No one’s going to take liability if their technology is not ready for the conditions they want to work in. And no one’s creating systems that only work in 5 mph parking lots just to claim the L3 title. So comparison to hypothetical systems aren’t useful.


The limitations of the Mercedes system are only a little higher than the hypothetical parking lot Level 3 system. The point is to emphasize that a narrow Level 3 system is not very interesting compared to a broad Level 2 system. Technical capability > appeasing lawyers.


Technical capability with known operating conditions (that can expand over time) > technical capability with unknown operating conditions.

Only one of them allows you to take liability.


Uhh but a narrow Level 3 system will also in general do broad Level 2. You think these Mercedes can't do adaptive cruise control at 60mph wherever you want to activate it?

I would take a car with reliable, narrow L3 and reliable broad L2 (especially when the L3 is reliable in the most frustrating driving conditions to encounter) over broad pseudo-L3 any day.

Waymos are incredible, but Teslas are a much worse tradeoff than what MB is proposing here in my opinion.


> Uhh but a narrow Level 3 system will also in general do broad Level 2. You think these Mercedes can't do adaptive cruise control at 60mph wherever you want to activate it?

The Mercedes system will absolutely not follow navigation routes, change lanes, execute right and left turns, execute U-turns, stop at traffic controls, and so on. All of which FSD will do.

A broadly capable Level 2 system that is suitable for 99% of driving scenarios (with supervision) is way more interesting than a tightly constrained Level 3 system that is only suitable for <1% of driving scenarios.


> The difference between SAE Level 3 versus Level 2 is liability, not functionality.

No it's not. The difference is functionality, proof that the vendor believes they've achieved that difference is most clearly communicated via liability.

> The scope of the Mercedes system is simply too narrow

Producing systems that perform reliably under the prescribed conditions is called "good engineering."


> Tesla doesn't want to assume liability yet because they are still iterating fast.

I would guess the reason for not wanting to assume liability is not their update cadence, but the same reason that made Mobileye fire them as a customer.


Level 3 actually lets you take a break while driving. L2 systems don’t and therefore IMO don't provide significant benefits.

More range and more driving conditions just don’t matter here if I can’t read a book on the way to work then it’s not self driving just advanced cruse control.


You can read a book on the way to work. Before going fully remote, I did it every weekday, using a magnificent piece of technology called public transit.


And level 5 beats level 3, however I don’t have any public transport options on the way to work and nobody is selling level 5 self driving cars. Mercedes hasn’t mapped my roads either, but that’s a lower barrier than getting nationwide public transportation setup.


And this is the why I think pouring money on autonomous driving is a net negative for most but a small group of shareholders: a public transit infrastructure is expensive, but the net benefits are immense, and can be had today.

Every dollar spent on private cars reduces that infrastructure, and that's not just my own thinking, but also that of car manufacturers, as evident by their lobbying to derail public transit projects.


It’s different pools of money.

Further I don’t live in a city so my local government has zero interest in public transportation beyond school buses. We just don’t have the density where it makes any sense. When I did live in a city the issue wasn’t drivers it was the inability to scale roads for local demand. Self driving cars don’t change anything about that equation.


Not really. Mercedes say you have to be able to take over within ten seconds.


10 seconds after a warning which is plenty when your reading. You do need to stay awake, sober, and in the drivers seat but that’s not a big deal.


> against Tesla's Supervised FSD Level 2 system

...those same Mercedes cars that have Level 3 also have a much more "powerful" and flexible Level 2 system built in, but this requires to keep a hand on the wheel and pay attention to the road (mentioned towards the end of this video, at around 6:15: https://www.youtube.com/watch?v=ZLz95Gw7g8c)


You are right, it was a bit more ergonomic. I remember taking some time to get used to the low cursor keys on PC keyboards way back when I inevitably had to stop using my ST and switch to a PC.

That said, the ST keyboards were notoriously squishy, lacking much in the way of tactile feedback. So many people didn't particularly enjoy them for touch-typing.


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

Search: