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
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.
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.
> 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.
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 ;)
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.
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.
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.
My team has done a lot of work to lean into the tool IE well defined issues, epics, tickets, t shirt sizing for pointing via 1, 3, 5, etc.
There is lots that can be improved for sure.
With this system, my team, in addition to any one else at the company, is able to click into our JIRA board and get a very high level to a very low level understanding of what we are working on.
This allows for very clear reporting structures and ensures our goals are on track with those of the company's. This also makes outcomes more measureable which is exceptionally helpful for reviews.
At the end of the year or halfway through I can go in and say: I worked on these 4 epics that are part of these two Issues which serve company goals A, B, and C. I completed x% of the tickets for each of these epics, led this entire other epic which was completed on time etc etc.
Where we run into issues is when there is a ticket that has to move between boards. The ideal situation is we just move the ticket from board to board as needed but based on the user they may or may not have permissions and have to open a new ticket linking it to the previous one. Not ideal but that's up to us to resolve to make sure the right people have the right permissions.
We ignore all the analytics IE burn down and friends. Those are useless.
I was on a team building tweet tiles[0][1] which required a cross platform UI system that would allow 3rd party developers to register a schema that would be used to render a custom UI under certain circumstances (usually by including a link in your post). We made it to beta, but never beyond given the internal turmoil.
We considered Adaptive Cards, but ultimately decided against it in favor of our own schema especially since we already had platform specific UI libraries.
Why?
Adaptive cards proved inflexible for uses not part of its core capabilities.
Adaptive cards doesn't allow for interactive elements IE charts or graphs with tool tips.
Adaptive cards doesn't appear to be well maintained or supported for ongoing future needs.
There were some other reasons but they are fuzzy a couple of years after the fact. This was one of the most fun projects I've worked on, I had to write a mini parser which is always a fun exercise, and I think it had massive potential. Would have been a very cool project to ship to prod fully but it wasn't meant to be.
reply