Sometimes I think the most exceptional thing about the USA is exceptionalism.
Solutions to problems that are solved elsewhere are pushed back against, because "The USA is fundamentally different".
Other countries have states too. The UK even has a country with an entirely different legal system (Scots Law), but we still make our collection of income tax system simple.
A "complicated tax system" (if that is the root cause) is not something that is impossible to change. It is within the gift of the government(s) to change that.
The lack of appetite for change is the result of decades of lobbying for the status quo to continue.
A 1040 form, while intimidating looking, is trivial to fill out. Once you've done it a couple times, it takes about 5 minutes.
The only arcane bit is the law. The tax prep software knows which forms to use for which financial detail.
If the law were written clearly, there would be no need at all for any special software, you could fill out a couple csv files and send an email...
Even without the law, you are right, the actual flow of the tax prep software, for most people, is something a 16 year old could probably cobble together in an afternoon or two... however the problem then becomes how to provide a public service at low cost (to cover hosting/bandwidth costs) while govt funds are explicitly forbade to be used.
To me the solution is obvious - a third party non govt player that receives specific allotment of funding, no questions asked. However, see the rampant issues with lobbyists mentioned in the article...
It's become worse since 2017 when they changed the 1040 to make it "shorter." All they did was move everything to different forms so now it's an insane process of shuffling numbers back and forth across many forms.
"tax prep" isn't something I've had to ever think about for the UK system. I don't have to buy software, I don't have to pay anyone. I get my wage, it has my taxes taken out. That's it. I don't need to keep receipts, I don't need to work out how much mortgage interest I've paid, etc.
My individual situation is calculated, by the tax authority and rolled into a "Tax code" which acts as the personal allowance. This then feeds into payroll which pay you net of tax.
If at the end of the year, the tax authority (not you, this is automatic without a form being filled in) spots an over or under payment, they adjust your tax code for the next year to recoup or refund the difference. No cheques in the post, no forms to fill in. Just automatically happening in the background.
Meanwhile for the US, I need to fill in 2555, 1040, and other forms. These aren't "5 minutes", they're slow, and more importantly error-prone, as they get you to add up different numbers rather than just asking for the information needed.
No human should ever have to answer the series of questions ( this is legit, from the current 1040 ) :
24 Add lines 22 and 23. This is your total tax
Where Line 22 is:
22 Subtract line 21 from line 18. If zero or less, enter -0-
Line 21 is of course:
21 Add lines 19 and 20
And 18 is:
18 Add lines 16 and 17
Where 17 is:
17 Amount from Schedule 2, line 3
Where that is an entirely different form.
The only purpose I can tell for this ridiculousness is to give scope for people to make mistakes.
A form should collect raw information, not put the burden of calculation shouldn't be on the form-filler in a world where computers exist.
The data is already on the form. What purpose can that solve except opening up a possibility for someone to accidentally commit tax fraud?
You're missing the point suggesting it should be "a couple of CSV files". No, it shouldn't be any filing at all.
Demand change, demand simplification of the tax system, and demand zero-filing solutions for regular employees.
> Meanwhile for the US, I need to fill in 2555, 1040, and other forms. These aren't "5 minutes", they're slow, and more importantly error-prone, as they get you to add up different numbers rather than just asking for the information needed.
For the many forms, yes of course it takes longer. However, from the W2 to the form, if you are familiar with both, it is many steps to be sure, but the process itself doesn't take long.
I don't mean to hold up the 1040 as some shining example of how to write a form.
Merely, the steps look involved, but usually boil down to several of the same number in multiple boxes, and a couple additions/subtractions. If you do it purely by hand, there is a high chance for clerical error, yes, with automation as simple as a calculator, it's much simpler.
You usually get the 1040 as part of the "preview" of the tax prep software. When you compare the actual steps involved in the 1040 vs the overly long, overcomplicated process in the tax software, it's obvious that there is a large amount of fluff involved.
Sure, there are some credits it might remember that you might not, but that's about the only reason I would think tax prep software is better here... however this could be accomplished by something as simple as a checklist provided by the govt...and if you are paranoid you could employ a lawyer to double check that every option has been explored (how do you know the tax prep software know every credit from this current year? You don't, so, what exactly are you paying for?)
We got pre-calculated returns as an alternative in the early 90's, by the time I got my first real job in the early 00's everyone used the pre-calculated one and just made changes as necessary. The first years I got my tax return in the mail and I think a few years I had to mail back a signed copy, but these days everything is digital and if you don't have to make any changes you don't have to do anything at all.
Back then you also had to physically deliver your tax deduction card to your employer so they could deduct tax correctly, but these days that is also digital and salary systems just fetches the current deduction card before running salary jobs every month.
As a long time Hatchet user, I understand why you’ve created this library, but it also disappoints me a little bit. I wish more engineering time was spent on making the core platform more stable and performant.
Definitely understand the frustration, the difficulty of Hatchet being general-purpose is that being performant for every use-case can be tricky, particularly when combining many features (concurrency, rate limiting, priority queueing, retries with backoff, etc). We should be more transparent about which combinations of use-cases we're focused on optimizing.
We spent a long time optimizing the single-task FIFO use-case, which is what we typically benchmark against. Performance for that pattern is i/o-bound at > 10k/s which is a good sign (just need better disks). So a pure durable-execution workload should run very performantly.
We're focused on improving multi-task and concurrency use-cases now. Our benchmarking setup recently added support for those patterns. More on this soon!
Feature Flags looks like it's crafted around automated rollouts. Varse was designed to be more manual, just for reading / writing key - value pairs. You can use it to store long-lived variables like database_url. It could also be used for short lived variables like percent_db_migration_rollout.
Have you used Feature Flags in the past? I'm curious what your experience was.
I use posthog for remote config. Basically long lived flags containing a json payload that allows me to target consumers based on specific properties of that consumer.
It appears to be all but Ohio that are down now. It's hard to tell from the status page, though, which says "No downtime recorded on this day" for all locations 2h into the incident. I have one Oregon database that has come back online, though, so it looks like things are gradually being restored.
> chatGPT says that MPTCP has been included in the mainline kernel since Linux kernel version 3.6 and that users can configure and use MPTCP features, but the MPTCP community website says that MPTCP v1 is only supported since 5.6.
Why is it interesting what a GPT has to say about it, if you've fact-checked it and found contradictory information?
I'm all in favor of anything that socializes the idea that believing what a GPT tells you is like believing the guy who hangs out at the corner gas station.
I've been using v5 in production since beta 20, and it has been working very reliable for us since then. The documentation for how to upgrade has been a great resource, and a great example of how to do breaking changes in a library as large as this one.