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

Not really a recent observation ;-)

https://thecodelesscode.com/case/118


> I always assumed Java would eventually prevail

I can understand that from an ecosystem perspective (at least to a degree), but based on language merits alone? Hard nope.


Came here to comment on Gothic, too. I'd have picked the original Gothic even more as an example, though -- there, you are in a prisoner colony, even if you are in a settlement. Anger the wrong people and you won't survive the experience for most of the game.

Also the swamp camp is really close to some rather deadly creatures if you're not careful in the early game.


Even worse, some people seemingly aren't even able to produce a question.

"I tried to $ACTION and $FUNCTION throws an error." Followed by awkward silence (or the written equivalent in chat rooms).

Great, why are you telling you me/us about it? What do you expect from me/us? If you're not even willing to produce some text with a question mark at the end, why should anyone bother to invest their time in helping you out?


It might not be the OS, but just statistical inevitability. If you're talking about CPU utilization on Linux, for example, it's not all that unlikely that the number you're staring at isn't "time spent by CPU doing things" but "average CPU run queue length". "100%" then doesn't only mean the CPU gets no rest, but "there's always someone waiting for a CPU to become free". It likely pays off to understand where the load numbers in your tooling actually come from.

Even if that weren't the case, lead times for tasks will always increase with more utilization; see e.g. [1]: If you push a system from 80% to 95% utilization, you have to expect a ~4.75x increase in lead time for each task _on average_: (0.95/0.05) / (0.8/0.2)

Note that all except the term containing ρ in the formula are defined by your system/software/clientele, so you can drop them for a purely relative comparison.

[1]: https://en.wikipedia.org/wiki/Kingman%27s_formula

Edit: Or, to try to picture the issue more intuitively: If you're on a highway nearing 100% utilization, you're likely standing in a traffic jam. And if that's not (yet) strictly the case, the probabilty of a small hiccup creating one increases exponentially.


Since RFC 4627 (the original):

> An object is an unordered collection of zero or more name/value pairs, [...]

Further, since RFC 7159:

> JSON parsing libraries have been observed to differ as to whether or not they make the ordering of object members visible to calling software. Implementations whose behavior does not depend on member ordering will be interoperable in the sense that they will not be affected by these differences.

Both are in the current version (RFC 8259).

OTOH, I find the "but the order is not supposed to be guaranteed!" debate REALLY stupid when it comes to software where it's clear that at some point, a human will have to look at the content and correlate it with another system.

There's nothing more evil than re-shuffling JSON just for the fun of it and making everyone who has to look at the result miserable. Yes, I'm talking about you, ELK devs.

Edit: (And/or whoever wrote the underlying Java/Go libs they use for JSON that don't allow developers to patch ordering in. I remember reading GitHub issues about this.)


Less than 1% of the hash maps I use have ever needed order.

The underlying data structures between both are different. Ordered hash maps use more memory, are slower, and are more complicated.

Knowing CS fundamentals, using an ordered hash map should be a deliberate choice like renting a box truck when you need to move a lot of stuff. Don’t just drive a box truck everywhere because you might pick up a couch from a thrift store one day.


All well and true if all you have to do is process the data programmatically.

And yet, as I said, if the same thinking gets applied to e.g. a store of JSON documents (like ELK), chances are good the thing will ruin the UX for countless people who have to deal with the result. Note that you need exactly no hash maps to store the JSON as it is text.

To expand your analogy: …and yet roads are built so that you can drive your regular car or a box car over them, depending on your use case. You make the choice. A JSON library that doesn't afford such choices (and isn't hyper focused on performance) isn't a good one in my book.

Edit: As a sidenote: Or do you mean a freight train wagon? Then replace "road" with "rails" and "car" with "draisine" :)


Well that one at least has appreciable parallels :)

Letting an LLM loose on a real system without containing it in a sandbox sounds about as predictably disastrous as letting a glorified chess program run all ENCOM operations…


If she has little experience with video games, Journey and Gris might be good candidates.

For a more "technical" argument how gameplay mechanics can be a unique way to deliver an emotion to the player (arguably a major part in the role of art): Brothers: A Tale of two Sons. You'd have to make sure that she finishes it, though (estimate: ~3h).

Two trippy games that defy categorization (but won't be good examples for someone not willing to learn mechanics/logic in depth): Thumper and Cocoon.


Never heard of any of these. Checked them out and they all look great. Hard to decide but I think I will include one of yours. Thanks a ton!


Going into it blind; Journey is a special treat.

If she is a fan of detective stories, then you wish to look into L.A. Noire or Shadows of Doubt.

Ori and the Blind Forest

Jusant or Tiny Glade have a distinct look.

Edit: Not art but for two player games, try Lovers in a Dangerous Spacetime, Untitled Goose Game, or Trine.


> whether you write them down or not.

Note that "types have been written down" != "the program was written with static typing". See, for example, what's doable with clojure.spec.

While loose, "from the hip" code (w.r.t. typing) often correlates with the use of dynamically typed languages, we shouldn't make the mistake of assuming a total causality there.

(Also, I still find the number of people willing to put e.g. `object` parameters in their public C# APIs concerningly high. Not that one has to deal with such APIs all the time, but they're not exactly eradicated, either.)


Dynamic, strongly typed code is a quadrant that has confused a substantial number of conversations about how to handle typing.


I love this song, but it wouldn't be nearly as perfect without the slight hint of irony ("efficiently dangerous") and the SEGFAULT at the end. Things I feel "Write in C" is dearly missing.


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

Search: