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

What's the real story here? Why did Trump say the $10B would not be spent if he was not re-elected? What "changing global market conditions" is Foxconn referring to?

Edit: I found this interview here with a former Foxconn exec that goes some more detail: https://www.theverge.com/23030465/foxconn-lcd-factory-wiscon.... Summary as far as I can tell is that the deal from the previous republican governor was controversial because of the tax breaks and the next democratic governor renegotiated the deal. Politics, basically. I guess locals are OK with this? Seems unfortunate though since people lost their homes and it would have brought jobs.


He was talking about his election in 2016, claiming that Foxconn would not invest this great sum of money had Hillary Clinton been elected. As usual, he was looking backwards and spewing nonsense.


> I found this interview here with a former Foxconn exec that goes some more detail

Alan Yeung is full of crap, completely untrustworthy.

You can see multiple times during the interview where Nilay immediately calls him out on his B.S. lies.


> if he was not re-elected

He didn’t say that. He said this investment wouldn’t have happened if he hadn’t been elected in 2016.


Wow, that claim aged like milk didn't it?

Now it reads like "Wisconsin voters wouldn't have gotten scammed if you didn't elect Trump and Walker."


Thanks. That makes more sense.


The real story is that Scott Walker offered FoxConn a nonsensical deal for a political victory for himself (Trump jumping onto it was a sideshow and irrelevant…the primary work was done by Scott Walker).

The deal essentially gave Foxconn free money without requiring it do anything and Foxconn figured why not take the money and then see if we can also do something.

They found out they couldn’t. They tried to pivot to a more software/IT focused investment but the properties they had picked were not ideal for that being far away from where IT people lived. And they eventually gave up.


Trump was taking credit for something someone else did, as per usual. It's really that simple.

The plans were always idiotic. The fact that Trump was too ignorant and/or poorly-advised not to take credit for them is just the icing on the kakistocracy.


Structurizr looks popular but I don't love needing to learn yet another DSL. Does there exist a way to describe things in an existing language with a library?

To use the example on their website, I would like something like this in JS:

  let { Component, Container, Diagram, Person } = import 'c4'

  let user = new Person('User')
  let system = new Container('Software System')
  let webapp = new Component('Web Application')
  let database = new Component('Web Application')

  system.contains(webapp)
  system.contains(database)

  user.uses(webapp).via('Uses')
  webapp.uses(database).via('Reads from and writes to')

  export new Digram()
     .title('Software System')
     .theme('default')
     .shows([user, system])
     .type('container')
Edit: As it turns out, there are a couple libraries like this:

- Python: https://github.com/nielsvanspauwen/pystructurizr

- C#: https://github.com/8T4/c4sharp

Don't see one for JS though. Smells like an opportunity for someone.


There is also https://diagrams.mingrammer.com/ using python.


If C4 is new to you too, I recommend their intro video: https://www.youtube.com/watch?v=x2-rSnhpw0g.

It feels like a very light ruleset over what we would do naturally when explaining a system to another engineer. That's great.

Some of the ideas that stood out were:

1. Allow flexibility in the notation (shapes and color) as long as the abstractions are good.

2. When drawing arrows, make them unidirectional to show the main intent.

3. Hide details to express the main story (@ 27min in the video)

4. Don't just give names to components. Give short descriptions too.

5. Don't document the lowest levels. Code is better here.


Ray Kurzweil makes an appearance in Episode 17 talking about AI: https://clp.bbcrewind.co.uk/f3fc8a5ce91dfb847a4f91eed7ddb184


I don't understand why this is so complex? Just make it a feature you put in Cargo.toml:

serde = { version = "1.0", features = ["serde_derive", "fast_compile"] }

Either opt-in or opt-out is fine. It's surely useful during development but it shouldn't be on for production builds. Any transitivity issues should be considered problems with the dependency.


This doesn't fix the problem, since features don't apply transitively. The correct workaround is to use [patch].

There's also the problem that the build may fail because it will still download the binary, which you may want to forbid entirely.


Sure features are transitive. A crate’s features at build are the superset of what every package defines. If I define “fast_compile” (opt-in) or “no_binaries” (opt-out) it’ll get applied across the board, will it not?


It depends. Features are not unified with resolver = 2 for proc macros.

https://doc.rust-lang.org/cargo/reference/resolver.html#feat...

That said I'm not sure how that applies transitively, I could have sworn I've seen conflicting features not cause transitive build failures.


Anyone know what are the main drivers for USA falling in economic complexity from #6 to #14 over the past 20 years?


If I had to guess, the fact that the US is increasingly a service/knowledge based economy. Their complexity metric only seems to look at physical products.


For more on TSMC's history, Acquired podcast's episode is incredible: https://www.acquired.fm/episodes/tsmc


Exactly. Here's Gamespot's homepage in 2007:

https://web.archive.org/web/20070228162159/http://www.gamesp...

Very similar. So much more personality than Gamespot today:

https://www.gamespot.com

But back then everyone viewed websites on desktop. Mobile if supported was special-cased. It's the opposite now.


Modern designers would think it’s terrible because it gives you too much information, and suggest putting in way more white space, hiding things under menu bars. I wish I was being facetious but sadly it’s a sincere statement.

Completely agree though. Information-heavy pages for desktop consumption were wonderful. It truly feels like we’ve regressed. Just loading that gamespot link honestly filled me with an immense nostalgia for the web of 10-15 years ago


You call it personality, I call it gradient overload. Check out the difference in content density, though.


Humor me for a moment. What decade did you go to high school in?


I'm in my late 30s! Can't wait to see what condescension comes next.


I didn't mean to sound condescending, I was genuinely curious. I was wondering if there's a correlation between age and aesthetics, but we're about the same age.


Async is a bit trendy right now and in my experience has a way of infecting a codebase. That said, I like the way it reads for server code. In a project I'm working on, we use both: explicit threads and channels the CPU-bound work and an async REST server on a single thread for handing requests and reading the database. It works nicely. But we do have a clear separation boundary between the two. Also, here's a related post that surprised me. Poster says spawning a thread per connection works fine for their server at 50K+ connections. Context switching and spawns not a problem? Maybe not always. https://stackoverflow.com/questions/17593699/tcp-ip-solving-...


50K is not really very many connections. How about 1M?


True, and C10M is the new C10K. I was just surprised it works well using that many OS threads rather than needing green threads or async.


I enjoyed the async part where the author built up Future and a runtime from first principles. If the topic interests you, these two videos are good follow-ups into Rust async [1] [2]. Rust's model is a little different and more powerful than other languages.

[1] https://www.youtube.com/watch?v=ThjvMReOXYM

[2] https://www.youtube.com/watch?v=9_3krAQtD2k


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

Search: