- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Nice classic, hope SODEC is going well.
Admin
Alex! You finally post old article! Just what Win Su has been waiting for!
Admin
The official Frist post
[image]Admin
The correct response is: "We've completed the project. It will be delivered this week, either to you or to the local tax authorities. Your choice."
Admin
What a POS this project became!
dah dum tish!
Admin
Yeah...the functionality of the old system seems rather illegal.
Admin
the real wtf is taxes
Admin
Admin
It's not really a WTF that they had to create a replacement that could be rolled out in a progressive fashion and functioned identically. If it didn't, things would get messy.
The point is after all registers are replaced, then you can start removing the deliberate bugs and start improving the UI knowing things are consistent and nobody needs to panic.
Admin
My dad tells me about an early software job of his - in the late 70's or early 80's.
He was asked to make an clone of some specialized software that was produced in Holland. They'd get an english version, and avoid any licensing fees.
On a lark, he made the clone an exact copy. Same Dutch text, same bad offsets on long strings, etc. Same bugs, if he knew where they were.
Apparently his managers didn't get the joke though, and just said "good job" - he went back and fixed everything up afterwards.
Admin
I'll simplify this...
Stupid customer demands a 100% duplicate of existing system including all incorrect interpretations of business processes.
There, saved you an entire Binary Tree Forest. Now go forth and make good code.
Admin
Your version is boring. Your website of tech horror stories would fail within a week, and every one would try to avoid you at parties.
Admin
In the late '80s the place I worked had its own language and compiler. The compiler produced really crappy code. I called it a "pessimizing compiler". It was also buggy as all hell, but we knew the bugs and had workarounds for them.
Then the tools group developed a new version of the compiler. It generated better code, cleaned up lots of the bugs, and added some language features that were seriously needed. We never used it. We had no comprehensive regression test for our product, so no way to verify that the new compiler wouldn't break some obscure feature. Rather than take the risk of breaking something unexpected (or, just as bad -- FIXING something unexpected) we kept on using the same old slow, pessimizing, buggy compiler. Fortunately I was in the OS group; I didn't have to use the compiler a lot since we did most of our work in assembly.
This same shop designed hardware to work around software bugs. It was easier to change the hardware than to try to reverse-engineer our own software.
On the plus side, I got lots of good war stories out of that place. At least, I think that's a plus...
Admin
The FTC might care a lot, but I doubt the tax authorities would care*, as long as you hand them the proper percentage of your gross sales. And if you use these numbers rather than some separate function to determine taxes paid, you'd probably end up paying more taxes rather than less (assuming the individual item issue exceeded the manufacture coupon issue). I think tax authorities are pretty forgiving about about errors that cause you to overpay.
*This would cause your receipts to be broken in a way that may raise flags with the tax authorities and could cause an audit, but accidentally overpaying on your taxes is unlikely to trigger criminal charges for tax violations.
Admin
I think there's a reason that the GST (Canada's sales tax) forms I fill out state "GST you collected" rather than having you actually calculate out how much GST you owe on the form.
Admin
I'd take it one step further and just write a layer emulating the hardware interface of the old cash registers, thus absolving myself of all complicity.
Admin
Wow, I think I actually worked for this company! The details are quite familiar.
The borken tax calculation was the CFO's slush fund. They collected a penny or two extra tax on every sale, but PAID OUT only the correct percent of gross sales, keeping the remainder. They REALLY didn't want to give up that "feature". Like a politician, they whined that ending this hidden theft would "cost" $X,XXX per month.
Admin
Been there. Doing a phased roll-out means having to duplicate the original's functionality, bugs and all, until you can finish replacing all the old setups, then you can slowly fix all the "bugs".
Just make sure you mark them well within your code, and you can easily "fix" bugs you introduced to make them match the old behavior.
Is it a WTF? Yes, but it's a fact of life in systems deployment.
Admin
Worked on a project like this myself. It's a scenario that happens a lot. Yes, you duplicate the bugs - but ensure that you document where they are and your plan to fix them. Then you go the client and submit your price list for fixing them. Everyone wins.
Admin
Admin
Here's a story that's pretty similar, except for the parts that are completely different.
I was testing a web site for an investment brokerage, you know, the people who are very helpful about taking your money today, but get suddenly quite vague about how much you're going to get back 20 years later...
Anyway one web page was a savings calculator. How much do you want to have saved up? By what year? How much are you saving now? Result: you need to invest $NNN more per month to meet your goal. It was a little more complicated, but that's the idea.
So what my testing revealed was that even if you take the output of their calculation (you need to save $220 per month) and fed it back in (I'm saving $220 per month) it would ALWAYS say you still need to invest a little bit more.
We wrote it up and reported it as a bug. The answer that came back from the corporate sponsor was: this is a complicated calculation that is too hard for mortals to understand, and while you're right that technically speaking it does produce some er umm.. unintuitive results under certain scenarios (such as, customer still has money remaining in pocket), this is the same calculation used by our field agents so for consistency we need to use it on the web site too. Not a bug. Program malfunctioning as designed.
Admin
Although unethical.. the manager probably wouldn't sign off on the fixes.. They'd just take the tax roundups and put it in their retirement.
Admin
I read whole article 4 times. and now I think, it is clever of making implementation.
Admin
Admin
Real joker.
Admin
Texas should be illegal.
Admin
Admin
Admin
I cannot formulate any self-consistent ethical system that makes one recipient of fraud any more legit than the other. At that point it boils down to who is in a better position to get away with it. And in this case, as long as Mr. G doesn't find out, Mr. C can keep pocketing the cash.
Admin
GST is a bad example because it's a Value Added Tax. Sales taxes can also be based on straight taxes - where everything along the way is taxed, like PST.
E.g., say you're a book seller. You can buy a book for $5, and sell it for $10.
Under GST (5%, say), you buy the book, it costs you $5.25. When you sell it, it costs the buyer $10.50. What the government gets is $0.50 - you're refunded the 0.25 tax you paid by the buyer's 0.50 tax he paid. You pay 0.25 because you added $5 of "value" to the book.
Under PST (let's assume 5%), the government gets 0.75 - the 0.25 you paid, and the 0.50 the buyer paid.
So when calculating GST, the easiest way is to calculate what you should pay, then subtract what you did pay.
It won't help in this case because the GST they paid would be based on their suppliers, while the GST they pay would be based on the total sales. The little bit extra in calculating GST per item and as a total is ignored.
Admin
Admin
Adverse possession would apply if this were land. If you notoriously occupy land without permission of the true owner for some period (16-21 years), you can have it retitled to you. (this has value in correcting for undetected surveyor or construction errors, or lousy recordkeeping, but otherwise is a pretty sucky common law doctrine).
Admin
While I agree to some extent, the government's goal isn't tax revenue beyond the official tax, the government's goal is to ensure that the corporation doesn't profit from defrauding it's customers.
If the corp. keeps the extra, it encourages scenarios such as the one described in the article. If the govt. gets the extra, it encourages accurate calculation, to keep the customer's price as low as possible, and also provides a big hammer (tax fraud) to the govt. if the corp. is skimming the excess.
Admin
Solution to this is simple.
First report company to tax authorities providing details as available. When the tax authorities come around up the price of your product since the company will be desperate to get it fixed. Collect the reward from the tax authorities, if available.
No need to worry about the changes.
Admin
Thinking is important part of all human beeings. I am human so I must also think. Any one with CS degree can do this math. Matter is any one with art degree is also able to do the calculations.
Why acting surprise?
Admin
I disagree, I think it's excellent. If I've lived somewhere for (in this country I think it's) 11 years without the owner complaining, then that land is damn well mine. Who do you think you are, thinking you own land when you can't be bothered to do anything with it? Oh yeah, and "down with capitalism" while I'm about it. Power to the people.
Admin
ONE FACT I KNOW IS THAT IF MONEY IS GOING FROM ONE POCKET TO ANOTHER POCKET, IT GETTING REDUCE BY WAY OF GOVERMENT TAXATION POLICIES.
Admin
It used to be that whenever bandits or pirates saw merchandise moving along, they would try to scrape some off as it went by.
Now the government fills this role.
Admin
I'm fairly certain I used to work for this place...
Admin
To add to that a little bit, the government is of the People (at least in theory). In any case, the extra coins collected by Mr. C go into Mr. C's child's pocket (CEO). However, if Mr G. collects the extra coins, the overage goes into Public Works (at least in theory).
Admin
Yes, let's replace the perfectly good, functioning system with a new, completely different system with additional complexity (features) when all we need is a cash register.
The real WTF is fixing what isn't broken.
Basic algebra hasn't changed....why does every college freshman need to be a new basic algebra book every 1-2 years?
Admin
Nothing new here. Taxes have been around since before Christ, the tax collectors back then had a pretty bad rap.
The technology has changed, but the behavior remains the same. Aristotle complained about the youth of his day, being lazy and disrespectful and how society was going down the drain.
Admin
Sorry kids, but calculating the tax separately for each line-item is absolutely legal and even necessary. We just finished implementing our own POS for our own store and had to do all kinds of research on all of these rules.
We came up with at least TWO examples were the tax-amount would otherwise differ:
Returns. If you buy two items and return one later, you also have to return the tax you collected. If you now calculate the tax only on the one item, you might over/undercharge and then your remaining tax is wrong too.
If the items you are selling create taxes that are always rounded down (e.g. 0.0342 = 0.03) it is cheaper for the customer to buy these items separately then e.g. ten of them together. So you would create an incentive for the customer to buy (and thus pay = high debit-charges) each item separately. Something clearly not in the interest of anyone (except the payment-provider).
Calculating the taxes per line-item best simulates buying items separately and makes returns consistent with the sales.
There are other issues with ultra-cheap items (5 cent candy) were our (Canada BC) 12% HST does NOT apply. Otherwise we would need to charge 20% HST (1 cent on top of the 5) which is outright illegal.
1.5 years with a 'team'? That is the real WTF. One of my employees wrote our own system within four months and he had to learn C# and WPF in the process...
Admin
Big difference.
Admin
Sorry kids, but calculating the tax separately for each line-item is absolutely legal and even necessary. We just finished implementing our own POS for our own store and had to do all kinds of research on all of these rules.
It is legal, but it's not necessary. It's just as easy to create different 'tax rate groups' and keep a running sum. Usually there are, at most, three, no taxes, which you don't even need to keep track of, normal taxes, and the discounted taxes that sometimes show up for food.
2) If the items you are selling create taxes that are always rounded down (e.g. 0.0342 = 0.03) it is cheaper for the customer to buy these items separately then e.g. ten of them together. So you would create an incentive for the customer to buy (and thus pay = high debit-charges) each item separately. Something clearly not in the interest of anyone (except the payment-provider).
Erm, except you're not supposed to round down taxes, for exactly this reason.
If you could do what you describe, all stores would have to do is charge you 3 cents, a hundred thousand times, and no one would have to pay taxes. Sounds silly, but not so silly when you think about something like gasoline.
Taxes are easy to figure out when all the items are taxed at the same rate, you just apply the rate to the total, but not that difficult when the items are at different rates...You either keep separate totals, add them unrounded at the end, or calulate each one and add those unrounded totals together. At that point and round that up to the nearest cent. (In some places you can round down, but only at the end. And in some places, stores round down, but end up eating the half-cent themselves.)
This is what the article is talking about the problem with coupons. If I have a coupon for $1 off on a item, you don't take a $1 off the total after taxes, you take off the total before taxes...I don't have to pay taxes on money I didn't give you. (This is why, strangely, coupons have a 'cash value 1/100 of a cent' on them.)
Taxes are on the total money that passes from the customer's hand to the cashier for items in that tax bracket. The government cares not one bit how much each item was.
Admin
Not at all, Go read Locke on property rights. Wheat it boils down to is that you can't have the concept of property without adverse possession - it's a necessary part. To be able to own anything in the first place, it's necessary that things can be not-owned-by-anyone, hence adverse possession laws.
Bear in mind also that it is possible for a piece of land to get 'lost' - that is, no-one knows who owns it. Should that land sit empty forever?
Admin
Welcome to the Microsoft school of backward compatibility.
Admin
Marx brothers had that covered (something like): some Big Wig (A): Something must be done! War would mean an increase to our taxes. Chicolini (Chico): I had an uncle that lived in Texas. A: No I'm talking money - dollars!! Chico: Sure, that's where my uncle lives: Dallas, Texas!
Admin
So, all of them except Hawaii?
Admin
So when did the company go under? You forgot the ending.