Hacker News new | past | comments | ask | show | jobs | submit | ajmurmann's comments login

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.


> Tariffs have a few market-distorting effects that a sales tax doesn't.

There are still stupid edge cases. The cake-versus-biscuit saga in the UK comes to mind.

https://en.m.wikipedia.org/wiki/Jaffa_Cakes


Just double checking, you are saying reduced competition and scale economics are "stupid edge cases"?

I’m saying that using a courtroom to decide the definition of a biscuit indicates a problem with sales tax legislation.

Flat rate sales tax has its problems, but avoiding Jaffa cake situations is entirely desirable.


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!

I wonder how item will be defined. If I order a pack of 100 tiny magnets from AliExpress, is that $30 or $3000?

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.

It's per package overall, surely...

Not per item within the package. Per shipping item.


Also people buying stationary stuff from China, how will their pricing be?

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.

[1]: https://github.com/hackfixme/disco


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.


From a quick search, you might need a local to book it, i.e. register the journey with the state apparatus.

(This is a city where buying a simple 40¢ metro ticket requires showing identification.)


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.


This amuses me, because if you’re going to Beijing you can just use the way-better-than-America public transportation.


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.


Beijing: “I could take the train but the public transit is so useful and frequent that it’s crowded so I took a taxi :’(“

My medium sized American city: “what train? What bus? What taxi?


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.


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: