HN user

SnowProblem

358 karma
Posts2
Comments203
View on HN

I love this because it gets to the heart of information theory. Shannon's foundational insight was that information is surprise. A random sequence is incompressible by definition. But what counts as surprise depends on context, and for text, we know a large amount of it is predictable slop. I suspect there's a lot of room to go along this style of compression. For example, maybe you could store an upfront summary that makes prediction more accurate. Or perhaps you could encode larger sequences or some kind of hierarchical encoding. But this is great.

Yeah, the author wants a story saying there wasn't enough continuity between scenarios or motivation to continue, but that was a non-issue for me personally. It's been many, many years, but my memory is that while RCT didn't have a completely open sandbox like TT to boot, each scenario was effectively its own sandbox with restrictions that made them interesting. New rides became available you progressed, and each park enabled creativity in different ways. When you finished all of the scenarios, I believe there was a completely open sandbox that became available, and that was like a nice reward. There really was no need for a story, and I think that would have detracted.

I wonder what red tape we're talking about. SEC regulates disclosures, but pretty sure NYSE and Nasdaq decide when to allow trading, halt trading, APIs, what gets listed, and more, and after you spend time in crypto on-chain trading, it all looks like BS. You wonder... Why can't I buy 24/7? What do you mean GME trading was halted 6 times today? I can't get out of a position because the market is limit down? I can't transparently see who is buying what and when in real-time? I can't earn multiple % per day providing liquidity? Just to name a few. I don't want any of this so-called protection. But my sense is it's going to be irrelevant soon anyway as stocks and commodities get bridged as on-chain tokens. Maybe there's still room for a more centralized exchange that's good for HFT since global blockchain networks will take hundreds of ms of latency to settle, but I don't know. On-chain trading on Solana is pretty great today and liquidity will pool together.

PS: There are so many shitty comments in this thread adding nothing of value. So you don't like Texas and have different political views. Fuck off. Some of us actually want to discuss this.

Fun read! Along the way I was trying to guess the cause and my best guess was TTL-related. However I don’t quite understand the actual cause! If the connection timeout is 3ms in practice, shouldn’t that be for a packet round-trip? So ~250 miles? And wouldn’t we expect at least a small delay on the remote SMTP server to process the packet?

The issue isn't the possible noise in non-covid deaths. It's this rather bold statement:

"None of these deaths were considered related to BNT162b2 by investigators"

How would they know? What investigators and what criteria? If there was a 20% increase in seemingly-unrelated deaths, would it be detected? These are the questions that Pfizer should have explained but instead we just got this one pithy sentence. Also remember, this is industry with a history of fraud and criminality. GSK was fined billions for covering up heart deaths in a diabetes treatment only a few years earlier and Pfizer is up on the list too. Our FDA needed to be our advocates and a lot of people feel let down seeing this rubber-stamped.

Yep, you'd find huge stacks of their CDs everywhere. I remember always getting a free "frisbee" every time we'd go to Blockbuster. Also, AOL keywords.

AOL lumbered on but what finally killed it was broadband and cable. They just didn't have the pipes and the luster was gone by then anyway. DSL gave it some life support but by 2002 or so everyone I knew had switched to cable. AIM use continued for few more years after that until texting killed that too.

Very similar story here. I was in middle school when the follow-up Tricks of the Windows Game Programming Gurus came out [0]. I read it cover to cover and proceeded to buy as many Premier Press books I could get using money I'd save from doing chores around the house. This wasn't pre-Internet but the best material was by far still in books. My dad would pay $5 per hour so if I worked hard I could buy another book after a weekend of yardwork. Those middle and early high school years were incredible. You could still understand the cutting-edge and a single person could still make something big like RollerCoaster Tycoon or Doom. I made a bunch of games, isometric ones, worlds in D3D and OpenGL, physics sims, learned CS algorithms, made pixel art and 3d models in 3ds max, and even made my way to a game developer's conference as an awkward teenager. The only downside to all this is it pulled me away from schooling. I probably could have gone to a better university and had an easier time the first few years of career had I put just a little more effort into classes, but that's life. No regrets.

[0] https://theswissbay.ch/pdf/Gentoomen%20Library/Game%20Develo....

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.

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.

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.

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.

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-...

None of this is excusable. Tell me what your project does in clear English.

"WASI is a standard for 50 functions you can call to do systems-level things from your WASM code. Here they are."

Done.

I don't care about wit/witx. I don't care the repo being in transition. I don't want to read about interposition or components or capabilities. I don't want to see your copy-pasta goals from WASM (which aren't clear for WASI). You're an API. Show me the API.

I've never seen a worse-described project than WASI.

"Component model interfaces always support link-time interposition."

Like WTF does this mean? The repo tells me nothing and I've still yet to see a clear write-up about what WASI is. I click on "docs" folder and there's one file. https://github.com/WebAssembly/WASI/blob/main/docs/WitInWasi.... WTF is wit? This should be in a CONTRIBUTORS.md not in the docs folder. I click on "legacy" and I see preview0 and preview1, which are basically unreadable proto-specs. Wikipedia tells me WASI is a POSIX-like interface but with POSIX I know exactly where to look up the functions. Where's a single well-written WASI spec?

I'll be honest - this whole project feels like candy for architecture astronauts and goes against the spirit of WebAssembly. Looks at how well-written WebAssembly's goals are: https://webassembly.org/docs/high-level-goals/. Their spec is easy to find and easy to read. This is what I want from WASM. Whatever WASI is doing, I don't like it. And neither does AssemblyScript team apparently: https://www.assemblyscript.org/standards-objections.html.

I was reading Weaving the Web, the story of Tim Berners Lee and the creation of the web, there's a section on misunderstanding about links. In 1999. Wish this were still not a misunderstanding today.

Myth Two: "Making a link to an external document makes the first document more valuable, and therefore is something that should be paid for." It is true that a document is made more valuable by links to other relevant, high-quality documents, but this doesn't mean anything is owed to the people who created those documents. If anything, they should be glad that more people are being referred to them. If someone at a meeting recommends me as a good contact, does that person expect me to pay him for making reference to me? Hardly.