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

> The identity element is zero

I think the identity element would be 1 for integers and multiplication, right?

0 would be the identity element for integers and addition.


That and also why start with multiplication? String concatenation, addition, list concatenation all make more intuitive sense to a working programmer.

What's a straightforward way to combine a bunch of numbers? Just keep multiplying them to get a resulting volume in an ever-higher dimensional space.


The working programmer might be interested in the series on ropes on the Xi Editor website[1] as a practical application, as it motivates the concept as it goes. (Alternatively, if you’ve taken an algorithms class you have probably encountered the idea of computing things over an interval of an array by storing them in for each node of a tree that flattens to that array, such as a search tree or interval tree.)

[1] https://xi-editor.io/docs/rope_science_00.html


Yes. Sorry I edited my original to change the operation.

This seems like a conclusion derived from the ideas in parse don't validate[1].

The goal is to encode the information you learn while parsing your data into your type system. This unlocks so many capabilities: better error handling, making illegal states unrepresentable, better compiler checking, better autocompletion etc.

[1]https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-va...


It's like a tax free dividend. Dividends are taxable but if a company uses the cash they would have spent on a dividend on a buy back there's no taxable event for the investors. Those investors who want the cash can sell and pay the tax and the rest enjoy the higher share price


Incentivizing short-term investors to dump stock by boosting the price temporarily? I guess that's a strategy.


In a purely rational market, buying back shares doesn't boost stock price temporarily... it boosts it forever. You buy back shares and 'retire' them, thereby making everyone else's shares more valuable.

Now, if you're using debt to finance share buy backs, then yeah... it's a short term ploy. But most companies don't use buy backs this way.


> You buy back shares and 'retire' them, thereby making everyone else's shares more valuable.

But the cash outflow to purchase those shares makes the company less valuable at the same time. In a completely efficient market, the amount of money that the company pays to buy back a share should be exactly balanced by the ownership percentage of that share, resulting in no net change to the price of the company's other shares.


Yes but as a shareholder I get an untaxed unrealised capital gain instead of a taxable dividend. I’m not a fan of taxing unrealised capital gains but this particular loophole could do with closing


But the tax will be paid when the stock is sold. It is more like letting the investor choose when to realise the gain and trigger the tax vs dividend that will happen regardless of wether the investor needs the money at that time or not.


Or the stock is used as collateral for a tax free loan and never sold. Tax loophole engaged!


The loan may be tax free, but it is surely not interest free.


For the ultra-wealthy, it doesn't matter. Look up "Buy, borrow, die".


People who talk about "buy, borrow, die" never seem to mention interest.

Suppose your blended portfolio grows at 10%/year nominal, and you're in the 20% capital gains bracket. Then you would owe 2%/year taxes if you realized it every year. Would you not then need an interest rate lower than 2% nominal (i.e. 0% real, assuming 2% target inflation) to come out ahead? That's also assuming you're not already receiving some dividends/income or can't be selective about tax lots to sell.

You could say "well you can simply accumulate an interest balance without ever repaying the loan, and hope the assets appreciate faster than the interest compounds", but then shouldn't you have already levered up prior to ever considering taxes? So taking on additional loans pushes you outside of your risk tolerance? Do you borrow or pay taxes depending on your portfolio performance? How does this work?

I'd be interested in seeing what someone with an actual finance background has to say about this "strategy". The popular image is just "free money", but while I have enough assets to start buying things with margin loans myself, I'm failing to see how to get some of that free money.

It seems generally reasonable that using an asset to collateralize a loan should be a taxable event, but the narrative about how this gets used seems off to me when trying to figure out the details.


> Suppose your blended portfolio grows at 10%/year nominal, and you're in the 20% capital gains bracket. Then you would owe 2%/year taxes. Would you not then need an interest rate lower than 2% nominal (i.e. 0% real, assuming 2% target inflation) to come out ahead?

You're assuming that someone has a portfolio that has a cost basis that is very close to the current market value. Most ultra wealthy folks have holdings that have been held onto for a very long time, with cost basis' that might as well be $0 compared to the value of the assets. Even non-wealthy folks that saved in a traditional brokerage would have a cost basis that is very low compared to the value of the assets. During the 'accumulation' phase, there likely is not much being sold at all.

If you want to access this capital, then you're paying 20% on every dollar. You don't need a 2% interest rate to make out ahead in this situation, it can be substantially higher and still be a better deal than paying the cap gains taxes.


There isn’t much publicly-available information with hard numbers (probably on purpose), but it appears that you need a huge amount of unrealized gains for buy-borrow-die to make sense. This implies that it is a very expensive scheme to run.

If you pay 50 cents to a financial service provider to avoid paying 1 dollar to the government, you’ve definitely come out ahead and the government has definitely lost. But the real winner is probably the financial service provider that is mostly pushing paper around rather than figuring out how to create the multi-billion dollar business that is needed to start the whole process in the first place.


I suppose it depends on how spectacular your buying is (a common criticism of sales tax is that rich people don't buy much, relatively), but wouldn't you only need enough tax lots that are close to current market value? If you've been accumulating, you've probably got a blend of tax lots from "nearly 0 gain" to "nearly all gain". You're also going to be receiving some dividends or have some other income sources that you presumably re-invest to create recent tax lots. The only case where that wouldn't happen is if you got lucky on a concentrated bet you made. If you inherited your wealth, you got your step-up, so you're faced on day one with "okay I have tons of assets with cost-basis at market value, how do I do rich person tricks?" Is that group not a good fit for buy-borrow-die, and it only works for founders/early investors of companies that blew up?

Taking on loans also means you're adjusting how leveraged you are, so I feel like there's a missing risk analysis component here. Otherwise of course I'd just take out as many loans as I could right now to get that sweet 10% expected growth at only 6% interest or whatever. So I can't borrow to avoid the tax man because I already borrowed as much as people are willing to give me.


> Yes but as a shareholder I get an untaxed unrealised capital gain instead of a taxable dividend

In the US, stock buybacks are taxed. But, its a fairly negligible amount (1%).


To close the loophole, ban buybacks. Or at least severely restrict them in some way. If a company wants to return profits let them issue dividends.


The most interesting tech company in the banking to me is Column[0].

No affiliation but it caught my eye when the launched.

Admittedly it still feels abstract to me, but the value proposition of having every capability supported by an API (like AWS's methodology of having all services be API first) on top of an actually chartered bank seems perfectly fitted for the creation of banking services that are significantly easier for consumers to interact with and understand.

I'm curious to see what people build on top of it.

[0]https://column.com


No blog post in nearly 3-years

https://column.com/blog

No product updates in over 7-months

https://column.com/changelog/

That doesn’t instill much confidence.


My initial reaction to Tailwind was: what a pain. I already know CSS, now I have to learn CSS again...

I imagine its how parents might feel when they go to help their children with math homework only to find the math is now totally different from when they were in school and their methods (while still valid) for solving problems are no longer accepted by the school and their child is annoyed by having to reconcile the two systems...

I get the, tailwind works well in a team and scales nicely and you just have to use it, mentality. I've experienced it.

I still prefer a plain style sheets that targets elements by a class or tag (especially since CSS supports nested selectors!).

There is an issue in managing stylesheets, and for that I really like how Remix/React Router manages CSS where CSS flies are defined and applied at the route level. Where that isn't enough or dynamic styles are too complex for a .css file:

    style={{...}}
is always available.

CSS is so powerful, flexible, and extensible, tailwind feels like a limitation rather than an enhancement. I don't understand the continued appeal, but clearly many others do. I'm not sure why, but I am confident we'll all have moved on to something else in another 3 or 4 years too.


I agree it’s frustrating initially to re-learn CSS… I used to make the same arguments. But after contributing to an open-source project using Tailwind I got up to speed, and now I feel differently.

Tailwind is essentially just stenography for style={{…}} - a single utility takes 15 characters that would take multiple lines in a .css file or style object. It greatly reduces the amount of time I need to spend googling stuff like “visual text replacement css” or perusing various css cheat sheets or skimming through css-tricks blog posts from 8 years ago. Instead I always go to tailwind docs, and quickly learn the utility class that just does the thing I want. A surprising amount of it fits in my brain cache, much more than trying to cache the css for all the tasks I might need to do in a layout.


I think it’s because now your entire component is contained in a single file. No more separately messing around with CSS. The styles are right there on the element they apply to without having to cross reference anything.

You could do this with just the css attribute, but that has the issue that everyone has always been taught it is wrong to do that, and a list of strings that contain a bunch of utility is easier than writing those plain CSS objects.


> You could do this with just the css attribute, but that has the issue that everyone has always been taught it is wrong to do that

But why is it wrong to use the style attribute? What makes using tailwind to do the same thing "not wrong"?

Also this https://tailwindcss.com/docs/hover-focus-and-other-states#us... and https://tailwindcss.com/docs/hover-focus-and-other-states#st... look like reinventing the Cascading of CSS with an awful syntax.


> But why is it wrong to use the style attribute? What makes using tailwind to do the same thing "not wrong"?

The time people were taught it was wrong is thr time when all your elements were rendered on the server and the style was duplicated for every component it applied to.

Client rendered JS only sends it over the wire once and then duplicates it on the client.

Tailwind only allows a few options, so it’s less likely you have slightly different styles everywhere.

I think the awful syntax you talk about is really nice, since it covers 99% of everything I ever need to do with it. The cascading part of CSS is really cool, but 99% of the time it’s confusing when I don’t need it.


Tailwind I use for hobby projects but we’re still sticking with style={{…}} at Notion. Since the app launched there’s been many generations of CSS-for-React (Airbnb Aphrodite era, styled-components/Emotion era, styled-jsx/linaria era, CSS modules era, Tailwind era) come up, get hype, and then thrown in the trash heap. Probably the best move for us would be an optimizing compiler for style={{…}} or our useStyles hook.


I think it's also about automatically purging and slimming down your CSS, which is easier to do when you're just comparing tokens.

Although nowadays I'm sure they could technically do the same thing with the built in parsers without having to rely on just simple tokens.


Limitation reduces available complexity and that’s why tailwind wins. It’s a composable, standardized, and modularized wrapper around a very massive and complex system. That’s a big advancement.


I'm learning math with my kid and it's not different to what I learned. Can still solve everything quickly.

On the other hand there are those posts on social media mixing multiplication and division and telling you there is only one true answer to those. Tailwind isn't that bad, but it's more into this direction for me as an old fart ;)


In the US you can get all the right answers on a test and still fail


I downloaded this and opened up a React based project that uses functions and not classes. I'm not seeing the sideways facing arrows to show the call stack of the function I'm looking at and have my cursor in - the functions that call the function I'm looking at and the functions that reference the function I'm looking at.

It seems the sideways arrows in the demo only appear for class based methods and not plain functions :(

Overall I love the idea and have wanted a graph visualization of a codebase showing every function call, who calls it, and who it is called by which this seems to do but for classes. Hope to see this working for functions as well soon! Great work.


Sorry for the frustrating behavior. It should actually work for plain functions and I just tested with a TSX component we use. I think something went wrong here.

Are you using JSX components? I'll try to repro this on my end.


I'm using a mix of TSX/JSX/TS/JS. I wasn't seeing it working for any of the functions (component or plain JS) I have unfortunately. Will keep an eye out for any updates you make to resolve this!

Awesome project and great work on it! Congrats on the launch :)


Modal editors like vim and helix have modes[0] that allow for different operations.

Vim has

- normal mode which allows you to enter commands to manipulate text rather than just type characters in the file

- insert mode which allows you to enter text into a file

- replace mode which allows you to replace text

and a few others.

Most editors like vscode, sublime etc only have a single mode that they are always in IE insert mode. Modal editors have additional modes that allow for additional capabilities.

[0]https://www.freecodecamp.org/news/vim-editor-modes-explained...



Stock buy backs are simply a tax efficient return to investors that are an alternative to dividends.

They are tax efficient since dividends are taxed before they can be reinvested (back into the same stock or any other investment) whereas stock buy backs allow the investor, rather than the company, to decide when to incur the taxes which would be incurred by selling the appreciated shares.

Financially they are equivalent.

The only real argument against either buy backs or dividends concerns if the company is better off pursing this return of investment to shareholders or investing the money back into the business to pursue growth. Finding the balance between these two is critical for every company.


The other difference is that with a buy back your return is reinvested in the stock. The company could make a mis-step tomorrow and make it go away. With a dividend the return is liquid and risk free. If you are re-investing your dividends in a taxable account you should prefer buy backs instead. If you are hoping to use your returns for cashflow you will prefer companies that issue dividends. If you're investing in a tax-deferred or tax-free account then it shouldn't matter.

In the US in 2024 you can collect up to $94k in qualified dividends and owe no federal taxes.


Stock options are not adjusted for regular dividends, to the option holder these are absolutely not financially equivalent.

This is where the executive compensation conspiracies come in, buybacks are better in this case.


Stock option pricing explicitly takes into account the expected dividend yield.

Option strike prices can be adjusted for one off events like stock splits / reverse splits, special dividends etc.


Yes, the expected dividends, however growth in stock prices are due to /unexpected/ risk adjusted growth. ISO options often have a 10 year period after vesting, it is unlikely to be predictable in pricing.

Also, the exercise amount has to be the current share price or higher or you pay gains on them.

Edit: You see the same thing with unvested RSU’s if the company does not do something extra but not required.

Edit2: The price you pay for the option on the open market accounts for it as best they can, but does not account for grants in ISO options and unvested RSU’s. Largely held by insiders. Hence the conspiracy theories.


I've loved books that have won lots of awards and recognition that I only read cause it was part of a curriculum, but it's perfectly reasonable to also not connect with some of them.

I read almost exclusively fantasy and have always loved reading since I was young. Fantasy series are often trilogies or more with some being over 10 books long.

You go on adventures, read about relationships, interpersonal problems, power, team work, individualism, religion, and so much more. While it's mostly what I read, it's not all, but it keeps me reading.


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

Search: