Hiker, software engineer (primarily C++, Java, and Python), Minecraft modder, hunter (of the Hunt Showdown variety), biker, adoptive Akronite, and general doer of assorted things.

  • 1 Post
  • 293 Comments
Joined 2 years ago
cake
Cake day: August 10th, 2023

help-circle
  • “Unused road” is ridiculous except in extremes. Unless people merge well over a mile back, 1 lane of traffic will make no difference. The only way “unused road” matters is for the people that haven’t entered the traffic jam yet who are getting off before they reach it.

    Very few people (from what I’ve seen) merge more than 30 car lengths out. 30 cars is not going to make a difference.

    What does make a difference is the fact that we can’t do a merge at speed because some people want to “zipper late.” It’s the zipper behavior that matters, the “at the very end” part never should’ve been added to that recommendation.

    Looking at an actual research paper about this, the zipper merge demonstrated is not at the last possible point. A merge point forms ahead of that point and that’s what should be used. The pictures from their study show the zipper occurring over a wide area with many of the zipped cars driving in the middle.

    https://rosap.ntl.bts.gov/view/dot/35694

    I don’t know how studies like this have become the recommendations we have. They seem to me to miss critical bits.

    Edit: based on my quick read, it’s worth noting the study finds only minimal support for the zipper merge and only in contexts not involving trucks largely based on visual analysis from their video feed as the quantitative data was not statistically significant. We need better transparency on recommendations like this frankly and the research supporting them. We should be able to have an honest debate on the merits of the papers.


  • The problem with zipper merges as this person describes them is a zipper merge is SUPPOSED TO get traffic back up to speed. However, when your take on the zipper merge is “up there where the wreck is at the last possible spot I can merge” there’s no time for a human to safely merge at speed. So everything has to continue at a crawl.

    So the people jumping out of their lane and “zipper merging” at the last second instead of 50 feet out or so end up making things worse for everyone.

    The zipper does not and should not be at the point of the physical problem on the road. Just like you should not just drive to the end of the on ramp and at the last possible second merge into the lane on your left without paying attention.


  • I really can’t more strongly disagree with this take.

    Zipper merging is to interleave two lanes of traffic when there’s one lane of traffic available ahead.

    It DOES NOT matter if it’s done with 3 feet to merge or 300 feet to merge. There’s no efficiency gain.

    What does matter is some assholes trying to merge at speed at the last possible second.

    The zipper point should not be the point where there’s NO ROOM to merge SAFELY without EVERYONE going 3 miles per hour.

    The handful of times I’ve seen a zipper merge actually start to work, someone rushes down to the end of the line where the problem is, nearly causes a second accident trying to get over, and then everything starts moving at a crawl again.

    You don’t need to zipper merge at the “physical barrier” causing the zipper merge to be necessary.
















  • No, the Java version runs within the JVM and the C++ version would run via native code. That’s effectively like having something work on an ARM processor and an x86 processor at the same time.

    They both could be modded, but it’s harder to mod C++ because the optimization phase is ahead of time. Minecraft modding is in part an accident because the optimization phase happens during runtime within the JVM … that means the binary “.jar” files align much more closely with the code mojang wrote … where as an “.exe” would be radically changed.

    C++ modding would also be more difficult because it’s harder to preserve stability in C++. In the JVM, basically the only way the program crashes is if an exception goes uncaught or the programmer explicitly asks the program to termite (which never happens). In C++ there are still exceptions but there are a whole lot of things that are exceptions in Java that aren’t in C++ … so you can’t just fence off the modding API cleanly and say “if an exception is thrown while running this mod keep going.”

    Those two reasons are the major reasons that games pick Lua over native C++ based mods (that and you can secure Lua and prevent it from doing anything it wants … Java and C++ mods can do anything they want, which is part of why the Minecraft modding scene is so good; if you want to connect to a database for administrative purposes, you can write that mod server side and have your database of block changes to find griefers, your plot database to protect plots, your store database to provide shops, etc).


  • I mean, yes and no. They have (I believe) slowed down, but for quite a while they were making MAJOR refactors every release and the internals were rapidly changing despite not much being visible on the surface.

    I think a lot of that stopped with dinnerbone taking a step back … but I’m also not as involved with the scene anymore so I’m not entirely sure if that’s true.

    But yeah, they regularly used to screw modders up redoing internals to make things dynamic instead of hard coded and refraction tons and tons of stuff.

    I miss the days when they were ambitiously pursuing an official API for mods; now they’ve kind of resigned to letting the community projects handle that. Which is not a terrible approach, but it’s not a great one either.