It's worse than a sales tax. Tariffs have a few market-distorting effects that a sales tax doesn't.
* Domestic consumers and companies are incentivized to potentially go for the 2nd best product. This over time can impact productivity as the tooling will decline over time as inferior solutions are bought.
* Reduced competition. We've seen this with the 25% "chicken tax" on pickup trucks. Arguably one culprit in US automakers falling behind is that they had a protected market around pickup trucks where it was hard to impossible for foreign competition to keep them on their toes. So US automakers retreated more and more into this safe haven.
* Destruction of economies of scale: If everyone wants the entire supply chain to be replicated in their country, we obviously loose economies of scale and thus efficiency. This sounds like it would be small but having multiple Shenzhen's is just not viable and we'll have to deal with higher prices and less product choice.
* Galapagos island syndrome: Over time separation of markets can lead to incompatible technologies which amplifies all other points.
Agreed, complex policies open the door for unintended consequences and have higher enforcement cost. If you do a sales tax or VAT it should be flat. If anyone thinks that it will be regressive or put poor people at a disadvantage, the answer IMO is UBI, even a small one can make up for sales tax on food while avoiding the deadweight loss from nonsense like that Jaffa cake nonsense.
In addition to the points others are making, there is also the increased cost of inventory that doesn't sell. The flipside to the high markups from retailers is the high discounts you get on last season's fashion. This is the "fixed percentage to avoid losses"
My local produce store was complaing about this. The prices increased about 20 fold. What was once a small loss due to spoilage now became significant.
I'm very pessimistic about the stock market right now but am also very concerned about inflation. The stock will go back up the cash won't. Where am I wrong?
The social issue go much beyond this. The country to a large degree has sorted itself along party lines. Changing your political opinion in either direction will likely lead to arguments with people you are close to and might get you ostracized from your friend group or even family. For most people this is much worse than being ridiculed online!
To add some color: when I've placed orders like this in the past the small items didn't come packed like consumer goods in a nice box but in something like a zip lock bag or an envelope.
I'm not sure how it'll work in the US but in the UK when I'm buying cheap Chinese stuff on eBay there are usually two options - have it posted from China which is cheapest but slow, or order it from a UK distributor who has bulk imported from China which costs a bit more but arrives in a couple of days. I guess everything will move to the latter system?
IMO you should have a healthy test pyramid which contains both types of tests. At the very top should be a smallish set of tests that are as real as possible and it's ok if they are a little slower. At the bottom you have more fine-grained tests that focus on one unit (classes != units) and tests it quickly and in isolation. Ideally we get this isolation by designing good interfaces (not necessarily in the Java sense) and can just not hook it up to real collaborators (maybe we pass callbacks to the email API or have boring glue code that just passes the return value on to the API) but sometimes a test double is ok. If we use a test double for network interactions to third parties, it's another great idea to replay recorded responses with something like Ruby's VCR which at least allows us to exercise the client code in medium-priced tests.
This allows you to get very quick feedback while in the weeds but also gives us comprehensive test coverage.
I agree. Arguments against the classical test pyramid are common, but IME they often come from a place of laziness. It essentially boils down to "unit tests are a chore to maintain, hence ...<hand waving>... integration tests are more valuable". Laziness _is_ one of the three virtues of a good programmer, but these arguments completely miss the mark. I would actually go a step further and argue that their popularity is doing tangible harm to software quality.
For a program to be robust it needs to be tested at all layers, and the testing pyramid is still a good rule of thumb to follow. Designing the program with testing in mind is crucial, and as you say, interfaces and their equivalent in any language are the right approach to achieve this. There was a period of time when monkeypatching was popular in dynamically typed languages, and perhaps still is (I've been out of the loop for a few years), but we always knew that it was a dirty trick, and that the software should be architected better to make it testable.
If anyone is curious what this might look like, I wrote a small project in Go[1] last year that is built from the ground up with testing in mind. There's a global `App` struct that is initialized in `main() `, and serves as the main container for all I/O the program does. This means that internally no component ever makes direct OS calls, but does it via interfaces, which can be easily mocked in tests. This makes unit and integration testing a breeze, and allows other niceties like passing down a global logger. I've adopted this pattern in all Go apps I write from scratch, and advocated for it on existing projects I've worked on, and it's worked great so far.
Interfaces are only useful if there is reason they won't change otherwise they get in the way. Reason is often policical - this is where another group talks to my code and so the less we have to know about the other the better (not that the code is hidden just that you ignore it) reason could also be it is used everywhere so any change would be months of effort to make - longer if anyone else needs to impment anything.
if change is easy then better to make the change - you never really know all future requiresments so getting it right is impossible.
unless getting it right is possible. if you are implementing a new language you should know enough to get the interface to your strings right on the first try. That is not the normal case. (Strings will soon become impossible to change)
How do you have the macBook pro microphone in a proper position? If I only use the macBook the camera is in a bad spot. Usually my macBook is plugged in which means my decent, external camera on my monitor is in a good location and so is my lighting. However, it means my macBook is off to the side.
I've used Waymo in both LA and SF and lived it. However, wait times in LA varied hugely. Downtown LA one evening was over twenty minutes and a few hours later less than five. I wonder if they just don't have enough vehicles there and because it's such sprawl it can easily happen that no car is nearby.
To me the consistency in Waymos is so valuable. If I take a Waymo in SF or LA it's gonna be the same type of car, it's very well kept, the driver has the same driving style and the same conversation preferences.
Unfortunately I’ve only used it a few times in SF, but I would really love that. I don’t prefer human drivers much anymore (like I want to use self checkout at a grocery store). I’m going to Beijing in a couple of weeks and hope to try whatever they have going on there.
It’s really not that hard to buy a metro ticket. But we pay/alipay will make it easier, or I could just get a couple of IC cards that have been around since forever.
Not always and not everywhere. I lived in Beijing for 9 years on a subway line (well, after line 10 opened) that would have taken me almost straight to work, but it was so packed I still took a taxi. Maybe the extra lines/capacity makes it more comfortable now, but it wasn’t Tokyo when I was living there.
And theory and practice might vary. I saw a heartbreaking segment in a documentary about the Three Gorges Dam about a very old couple who were supposed to receive compensation or replacement for their home being flooded. It never arrived. So we got to watch these two people in their late 70s or 80s carry their old home brick by brick up a steep mountain side.
Return to Dust (隐入尘烟) - 2022 has some similarities but won’t say more (no spoil).
The movie is great and China censorship story worth a glance. There no direct critics but it depicts some collaterals of rural areas transformations. Also poetic and contemplative.
* Domestic consumers and companies are incentivized to potentially go for the 2nd best product. This over time can impact productivity as the tooling will decline over time as inferior solutions are bought.
* Reduced competition. We've seen this with the 25% "chicken tax" on pickup trucks. Arguably one culprit in US automakers falling behind is that they had a protected market around pickup trucks where it was hard to impossible for foreign competition to keep them on their toes. So US automakers retreated more and more into this safe haven.
* Destruction of economies of scale: If everyone wants the entire supply chain to be replicated in their country, we obviously loose economies of scale and thus efficiency. This sounds like it would be small but having multiple Shenzhen's is just not viable and we'll have to deal with higher prices and less product choice.
* Galapagos island syndrome: Over time separation of markets can lead to incompatible technologies which amplifies all other points.
reply