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

For folks that don't know the background on this, here's a layperson summary:

- A business is usually taxed on its profits: you deduct your revenue from the cost of producing that revenue, and the delta is what you are taxed on.

- In software businesses, this usually means if you spend $1M in software development to develop a web app, and it makes $1.1M in that year, you'd get taxed on the $100K profits.

- However, a few years ago, the IRS stopped allowing the $1M to be deducted in the year it was incurred. Instead, the $1M was to be amortized over 5 years, so now the business can only count $200K as the deductible expense for that year. So now it's going to be taxed on "profits" of $900K. Assuming the tax rate is 20%, that means the business owes $180K in taxes, even though it has a total of $100K in the bank after the actual expenses were paid. So it would have to either borrow to pay taxes or raise venture capital, meaning that VC-funded companies would be advantaged over bootstrapped ones!

- The letter's goal is to bring things back to how they were (and how they are for all other businesses): let businesses deduct their actual expenses from their actual revenue, and tax that actual profit.

I am neither a lawyer nor an accountant, this is just my understanding of this issue.

Edit: Switched the tax rate to 20%. The logic is still the same.


While this does convey the idea, the premise is also biased.

> even though it has a total of $100K in the bank after the actual expenses were paid.

People running a business can perfectly understand the concept of liquidity. And yes, just because you transform money to something else, then it doesn't mean that you should not be taxed on it.

The extreme example is a company that buys gold on the last trading day of the year - now there is no profit! On the first day they sell the gold again and does tax eviction.

The core question is to what extend software constitutes an asset or consumption.

(Personally, I do not believe that software constitutes an asset in any meaningful way, but a practical tradeoff could be that software is a 10% asset)


I think you are conflating "software engineers" with "software". A business that pays a software engineer doesn't automatically receive working software in return, especially not in the first year. It doesn't seem fair to assume that paying a dev $200k means that the business received an asset (some code) worth $200k in return, and thus can be taxed on it as if it were an asset producing $200k in profits a year.


I am not conflating, but the law is. Obviously it would be better to have an appraisal of the software - I reckon law makers see the cost of producing ad an ok proxy.

Btw,this is how it is done in many construction projects also. Like bridges, budings, etc.


I don't know how you're supposed to value software. I just reread your original post - picking 10% out of thin air doesn't make much sense either.

Software is more like a blueprint for a building, it's not the building itself. How much is a blueprint worth? If 100 architects spent a year on it, does that mean the blueprint is worth 100 x salaries? It might actually be worth nothing, if the blueprint asks the construction team to do something impossible.

Software is even worse though, because at least with construction, there are known physical models and real-world constraints (like physics) that decide whether a design can or cannot be implemented. A piece of software written today might be entirely unimplementable and worth nothing, but a breakthrough elsewhere in 5 years might make it extremely valuable at that time


I really agree in all your points, and the the 10% would be the proposed practical middle ground - but it is neither a good model.

I don't know how to tax this.

But I can identify the issue: You can channel your revenue into a non-taxible assets that you can bring into the next accounting period tax free.

Regardless of this is stocks, bonds, gold, unsold inventory, or IP, that is not fair.

I would hope for someone to device something that is fair and easy to understand. And then I would hope for them to get it through to the politicians.


Um, so you have it so that if I hire (let’s say) bridge engineer for 100$ but he doesn’t get any materials and produces only paper model which I sell for 1$ does it mean I’m going to be taxed based on 101$ ?


andrewlgood is explaining the capitalization process in another thread under this post - I can recommend reading that.


> The core question is to what extend software constitutes an asset or consumption.

Isn't part of the problem with our industry that, even it is an asset, its value can be hard to determine even for a long time after you've written it, and it may be pretty weakly related to how much you paid to build it?

- you might have spent a lot on developers last year but next year you find out that you're the new Quibi and no one wants to use your product

- you might have had a small, tight team and what you built turns out to be hugely valuable (like instagram or whatsapp)

- ... and to the degree that the software is part of a valuable business, how do you really assign value to the software as versus the go-to-market plan, the partnership/distribution agreements, etc that helped make the business succeed?


These risks would appear to be the same as a shoe producer wanting to bring shoes to market - regardless they are still taxed on the value of their inventory.


Some of the risks are similar, but your "regardless" is bypassing the point.

We can value a real shoe pretty well. But what if we could duplicate all the shoes we built for less than a penny per pair? What would be the value of our inventory?


There are pretty established accounting rules for this.


For valuing digital goods?

Are those rules smarter than looking at the money it took to make? If so please share where I can read more.

If not, then despite being "established" the problem isn't solved.


> The extreme example is a company that buys gold on the last trading day of the year - now there is no profit! On the first day they sell the gold again and does tax eviction.

In this example, it seems like you're assuming that the revenue from the sale of the gold would not be taxable, but I don't see why that should or would be the case.

ETA: also, gold is far, far more fungible than any particular software


> The core question is to what extend software constitutes an asset

Maybe we can finally deduct all that technical debt.


If a software project fails can we claim depreciation, like after a car crash?


Well, until now you automatically had depreciation.

In the future you will still get it automatically, just deferred.


You have the same, automatic deferral, with cars.

But if you're in a crash, and it's a total loss, you can depreciate faster, which is helpful because you might need to buy a new one.

So, since they're assets, can we write off software projects that fail?


Doesn’t that just defer the tax until later?


AFAICT, that $450K is refundable and transferable. IOW, if you make $0 in year two and have expenses of $0 in year two, you'd get a tax refund of $100K because $200K of your expenses from year one would be applied to year 2.

And it's transferable -- if your company fails, there are companies out there that will buy the rump of your company to realize the unrealized tax refunds.

Which is why it's usually fairly straightforward to get a factor loan to pay those $450K in taxes -- it's backed by an asset.

Factor loans are usually expensive with a high interest rate. Because you can get a factor loan, the taxes are not going to immediately bankrupt the company in the short term, but the high interest rates are going to hurt in the long term.

Not a lawyer nor an accountant. Not even an American.


NOLs are generally not transferrable in the US (they used to be, but now the benefit can only be used if the acquirer of the 'rump' continues the existing operating business).


> Assuming the tax rate is 50%

Which is not(?). According to https://en.wikipedia.org/wiki/Corporate_tax_in_the_United_St... , federal corporate income tax rate is 21%, + additional <10% for state level, not sure about local level.


One of the reasons small businesses have been hit so hard with this is because for then (when incorporated as LLCs), their tax rate is 37% + state + local. I live in NYC and my LLC has a combined tax rate of 50%.


Note that LLC isn't a tax status

An LLC can either file as a c corp and get corporate tax rates, or (sometimes) file as passthrough like as in a sole proprietorship. Or as a partnership. It gets complicated

https://www.irs.gov/businesses/small-businesses-self-employe...

Anyways, it's up to you, it's not necessarily due to it being an LLC.


You live in the most expensive metro in the country, one of the most expensive in the world, and tax is where you think your money problems come from?


That's a great explanation, thanks a lot for sharing it.

Some big tech companies affected have laid off teams around the world, perhaps in order to mitigate the numbers looking bad to investors; so in a way, this adversely affected tech employees globally.

Every country should have such a rule for software businesses, which is an industry where all the cost has to be upfronted, so that bootstrapping is facilitated. There are plenty of smaller markets where the VC model is not the most appropriate funding instrument.


> a few years ago, the IRS stopped allowing the $1M to be deducted

It was Trump's 2017 Tax Cuts and Jobs Act, which amended IRS code.


It wasn't intended to stick, it's a bad idea that was intentionally bad in order to make it easier to reverse.


I don't follow. What is the motivation of doing something intentionally bad to make it easy to reverse?


Reducing taxes on businesses by 30%+ and high earners and the middle class by a smaller percentage. It’s a direct effect of the 2017 Republican tax reforms.

If you want to pass something using only 50% of our representatives you have to pay for it with something else to balance the change. 60% of the vote and you don’t care what the Congressional budget office says. The primary software development hubs are not Republican leaning. The same reason SALT was changed. Voting matters.


The other responses have the right idea, but in more detail:

All congressional bills receive an estimate of their budget impact over the next ten years. Whatever happens after ten years doesn't count.

The politics are that a bill should have no budget impact within that ten-year window. As an uncharitable stylized example, you'd propose to start paying random subsidies to constituents immediately in the amount of $200M / year, forever. 8 years out, you also plan to raise taxes on somebody else, someone who would never vote for you in a million years, in the amount of $1B / year, which may or may not fade out after two years. This is a bill with no budget impact.

It doesn't matter, to you, whether that spike in collections for years 9-10 actually happens or not. If you failed at targeting it exclusively to people you hate, you might prefer that it doesn't.


ok, got it. So... this helped it pass because it allowed the headline to be "budget neutral" even though all signs point to this piece getting removed quickly and ultimately expanding the deficit. Sounds dishonest but logical if the objective is to reduce taxes without genuine consideration of the deficit. Thanks (to you and siblings) for the explanation.


The worse it was the better it worked as a budget fudge and it could be included in projections and allow a budget neutral bill to be passed. And by being so bad it would be easier to reverse as fewer people would defend it. There was an attempt to eat their cake and have it too.


Why is it still in place?


The Republican Party is actively antagonistic to any legislation from the Democratic Party basically.

You need a 60% vote or you need to take away someone else’s pie. Medicaid/medicare/social security are current contenders based on Republican planning.

The bigger issue is Republican voting districts gain less from putting it back in place. Most software devs are on the coasts and Denver.


Don’t need 60% for budget bills in reconciliation (the process of merging bills from the House of Representatives and the Senate). One of the times filibusters (which create 60% requirement) do not apply.


@cryptonector - but did they have a 60% margin in either house? 50%+1 isn't enough (AFAIK) to undo previously passed legislation.


The "or you need to take away someone else’s pie" is the relevant part here

The 174 changes (and SALT changes, and some other stuff) were how TCJA got balanced and passed without a 60% majority. 50%+1 is enough to undo previously passed legislation that was also passed with 50%+1 in this case (handwaving - not exactly right, because the balancing point is a different time range, so the math might not work out exactly the same).

The Democratic party absolutely could have passed some legislation in 2021-2023 to undo a lot of TCJA with just a 50%+1 vote, if they cut other stuff to balance. They didn't do that though. In part because they had literally 50%+1 majority and couldn't lose a single vote in the Senate, and couldn't come to an internal agreement.


Uhm, but the Democrats held the House and Senate for two years during the Biden administration, which came after the Trump tax cuts.


This wasn't really on anyone's radar until more recently. I don't think even a simple majority of tech workers even realized this had happened until after the job market had tightened up.


I don't believe that's true. I remember gnashing of teeth about this during the Biden years.


Because it wasn't bad enough. Look at the fervor it's causing now - now imagine if it was worse.

In politics it may seem like a good idea to create these time bombs because they can't imagine them going off but sometimes they do and here we are. The pied-piper strategy with the basket of deplorables was supposed to make it easier for Hillary to win 2016 but she didn't so we got the bomb going off instead.


Republicans really want to cut taxes for rich people but they don’t want to just straight-up acknowledge a huge debt increase for that goal, so they come up with different ways to say that something is budget neutral. That’s why a lot of the 2017 bill cuts were time-limited so regular people got the tax cut immediately and would hopefully remember it, but the time limit meant that CBO wouldn’t count it as a long-term debt increase and it’d be someone else’s problem when those expired and most people notice their taxes go up.


There's a risk they'll try to break the Senate rules outright [0], by pretending that certain promised-to-be-temporary tax cuts now cost $0 to extend.

To put it in domestic terms:

* [January 1st] "Honey, I want to rent a Ferrari, I did the math and it fits if it's just one month! Pleeeeeease?"

* [February 1st] "Oh, that? It's the Ferrari rental-fee for the next month, don't worry, it's an existing expense, it's already part of our regular budget, so clearly we've proven we can afford it. We'll just have to cut back on insulin for the kids."

[0] https://www.americanprogress.org/article/senate-republicans-...


Both parties do this to make spending bills appear smaller. This is why clean energy tax credits generally passed during Democrat administrations have to be periodically renewed.


It was done to offset lowering other taxes


> > a few years ago, the IRS stopped allowing the $1M to be deducted

> It was Trump's 2017 Tax Cuts and Jobs Act, which amended IRS code.

And took effect in 2022 (per what I've read elsewhere, and other comments on this post; could be off by a year)

(just clarifying that the effect was "a few years ago", but I agree that it's important to know the origin of it, which you were pointing out)


Why do you assume a 50% tax rate in the United States when it is only 21%?


I think they meant "assume" like a mathematician, i.e., pretend it is this simple value to make all the calculations easier to understand.

But it's still useful to know the real rate is 21%, thanks.


In California, the maximum personal income tax rate is effectively closer to 50%, which is where my mind went, but you're right, it's different for companies.

In my example, the tax rate isn't the point though, it was used just to illustrate the math.

The main point is that it makes no sense to require amortization of software development expenses. The idea that this letter is an attempt to restore rationality in the tax code.


State, city, property, social security tax, other fees and levies that should really be classified as taxes. The total tax burden can really add up.


I’ve been helping Omar on this and one of the hardest aspects of building this product has been finding users that can give actual feedback. Any ideas there would be super helpful


it would be nice if i could save my progress at every level so i could just keep working on one level at a time.


Yes, this is an issue!

And, zooming out a little more, free market healthcare is just part of the problem.

We have a system where we’re only treating people once they have a disease, and not working to prevent the disease, so it would be helpful to look at the effects of for-profit companies on making healthy people sicker. Fast food, snacks, alcohol, there are so many industries that are incentivized to succeed by making people sick.

This is the system “working” according to the current rule set.

It’s time to look for a better algorithm than a purely profit maximizing one.


Pop co-founder here. It warms my heart to hear this. Thank you for the appreciation!


Pop doesn’t seem to have been updated in years, what’s going on?


Is there a way to use Pop solo across multiple machines, so I can drive Xcode on my Mac from my PC, or drive Visual Studio on my PC from my Mac, and also sometimes have others join in?


you can join existing meeting, just tested that in browser + desktop app


Does that still work in a remote-style scenario (where the other machine isn't necessarily next to you and you want to remote join your own session without needing to manually click a button on the other machine)?


While it's likely not the answer you're looking for, I've had a colleague walk their in-law through starting Pop on their home machine while traveling, so they could remote in!


How’s traction with Pop? Love the landing page with the animated cursor that gives a preview of what the product does!


Hey jsherwani—congrats on the awesome product! Would love to catch up if you're up for it :D


The app is doing an http(s?) request, which includes more round trips than a simple ping. Also, the web server may be more loaded than the ping response would indicate.


Usually not. I got a similar "ping" page on my website but haven't found a browser that closes the TLS connection between secondly requests. Also built a websocket version but that turned out to only be useful as canary because it doesn't survive connection changes.


My PhD thesis focused on voice interface design for people with limited literacy skills. One of the most surprising discoveries for me was that menus and even lists of items aren’t natural concepts that exist outside of a context of literacy. Even for voice interfaces, a touch tone menu (“for X press 1, for Y press 2...”) was a lot harder to navigate than an equivalent voice-based menu (“would you like X, Y, or Z?”). As a side project during my final year of my thesis research, I wrote an iPhone app that unexpectedly propelled me into the world of entrepreneurship, so I ended up pursuing the startup life after I graduated. But this space is still fascinating to me.


About 15 years ago when my grandfather was in the later years of his life we bought him a DVD player. He was an educated man, but he was never interested in computers or technology. Despite it being the mid-2000s he'd managed to completely ignore almost everything about computers until then.

When I was trying to teach him to use it, I was amazed to find that even the simple (in my mind) concept that pressing the "up" button the remote would move the menu selection up on the screen, and that to play the DVD you needed to select the "Play movie" option and choose "enter" was completely foreign to him.

I think as "digital natives" with both long term exposure and a real interest in technology, it's very easy to forget how many layers of implicit knowledge our systems are built on.


>I think as "digital natives" with both long term exposure and a real interest in technology, it's very easy to forget how many layers of implicit knowledge our systems are built on.

Agreed, see replies to my comment on the linked post when trying to explain hardware usage from the perspective of older folks who aren't used to it, lots of replies along the lines of "they can this through Settings->General->blah"

https://news.ycombinator.com/item?id=23598685


Maybe that explains why Alexa is popular? I never really understood it since of it's limited capacity. I guess I don't see the appeal because I'm a programmer and used to high capacity, low user friendly tools like terminal UI/UXs.


Yes, and I think what’s interesting is to consider is that the ability to use a terminal is a very recent (and from a certain perspective, strange) skill, considered from the perspective of the kind of hardware we have for information access, storage and transmission.

What’s far more “normal” is storytelling (with heroes and villains), rhythm & rhyme, and lots of repetition. But even simple conversational interfaces are way more normal (and fit our mental hardware well) than terminal-y interactions.


You're confusing old with normal and your conclusion attempts to "appeal to nature" (a well known error of logic): https://en.wikipedia.org/wiki/Appeal_to_nature


In context of user interface, "Natural" = "Familiar". So, very low barrier to extract value, less chance of making mistakes.


It's the best kitchen timer in the world, no matter how many dishes you're cooking.


As a software engineer that spent a great deal of his life embedded in UI philosophy, I'm still so lazy when it comes to learning other systems. My cell phone for instance - the iPhone, there are still things that my girlfriend shows me how to do on it that I had no idea about. I just can't be bothered to learn most technology beyond what I need to use it. I've got too much else to spend time on. I'm sure I don't know half of what my TV does, I use Alexa to turn the lights on and off, timers and alarms and that's about it.

Most of my devices are used almost exclusively for Teams meetings, communications or actual software development. When I'm raking through other software, I'm often exposed to UI concepts that make zero sense to me, yet they seem intuitive to many others that are beyond my comprehension. I wonder if this is because I'm getting old or if it's because people being forced to learn bizarre UI concepts and just accept it and go along with it.

It's weird to me that people just seem to accept complicated systems and I'm still stuck on the "This is too complicated to be useful to anyone. We're supposed to have computers working for us by now, not us working for our computers!" model.


I switch between Windows 10, Windows 11, MacOS Monterey and Pop!_OS interchangeably, easy. My main OS is Linux and mostly in the terminal. I can't comprehend that you cannot "figure out" different UI's.


Are you familiar with spoon theory?

https://www.healthline.com/health/spoon-theory-chronic-illne...

I have from 25-50 or maybe more things I need to get done in my normal everyday life - most of which either improve my life in some significant way, or improves someone else's in a way that pays my bills. I run out of spoons about 15 before I need to learn a new something that will add minor improvement to my life in some way. This includes things like holding down a key longer gives you the alternative characters for it, or a new operating system or device, or all the little features on my TV or the many thousands of ways Alexa can be harnessed to do some really cool things.

On a day where I have nothing to do and I feel particularly inclined, I might learn one of those things - but chances are I'll spend it doing something else that brings me joy. Cooking, spending time with loved ones, going for a ride on my bike or a swim. These are the choices and trade offs I make. Admittedly, that hampers my ability to use certain devices because I don't understand them completely, but it gives me time to enjoy my life in other ways.


I didn't know about the spoon theory, my comment was a bit snarky I guess? (My apologies)

I can't work with two screens, there have it.

I didn't touch MacOS for a long time, but I'm able (and I think you can too) to get manual, guide, documentation in seconds and adapt to it. I'm sure you can do the same thing as me.

I must say that I'm all about efficiency and administration outside computers. (Do you have ever thought about gaming? To use the right skill slot, to gain maximum velocity at that given level?) I apply "gaming skills" to my life.

I'm going to make a blog about it.


Speech Interfaces for Information Access By Low Literate Users I presume?


I would also be interested to read your thesis, if you don't mind linking to it :)

edit: also, pop looks very nice! congrats!



Yes, that’s it! An easier and shorter read may be the final paper I published in that domain, which talks more about the difference between literate and low/non-literate users:

http://www.cs.cmu.edu/~jsherwan/pubs/orality-hcid-itid09.pdf


Is it online somewhere?


We have a .deb and .rpm download, and also have an AUR package. Let me know if you need something else!


Thanks for the positive words!


Thank you for the kind words!


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

Search: