• 0 Posts
  • 82 Comments
Joined 2 years ago
cake
Cake day: August 3rd, 2023

help-circle
  • The basic problem is that identifiers can be either types or variables, and without a keyword letting you know what kind of statement you’re dealing with, there’s no way of knowing without a complete identifier table. For example, what does this mean:

    foo * bar;
    

    If foo is a type, that is a pointer declaration. But if it’s a variable, that’s a multiplication expression. Here’s another simple one:

    foo(bar);
    

    Depending on how foo is defined, that could be a function call or a declaration of a variable bar of type foo, with some meaningless parentheses thrown in.

    When you mix things together it gets even more crazy. Check this example from this article:

    foo(*bar)();
    
    

    Is bar a pointer to a function returning foo, or is foo a function that takes a bar and returns a function pointer?

    let and fn keywords solve a lot of these ambiguity problems because they let the parser know what kind of statement it’s looking at, so it can know whether identifiers in certain positions refer to types or variables. That makes parsing easier to write and helps give nicer error messages.




  • Rigor in definitions allows us to express a lot of complex things in a compact form. this allows us to treat “Cars” as something different than “Motorcycles” while both a motorized vehicles.

    Meh. There’s plenty of room in the gray zone between “car” and “motorcycle” where things like this or this can exist. The botanical world has worked very hard to create rigorous definitions of fruits and vegetables only to be completely ignored by cooks. The culinary world in general has done just fine for centuries without rigorously specifying whether taco’s are sandwiches and cereal is a soup.

    As long as it is generally understood what people mean by a word when they use it everything will be mostly fine. REST is an understood term, whether the inventor of the term meant something else by it is immaterial.


  • Fun quote from an interview with Chris Sawyer:

    Latterly the machine code came back to haunt us when the decision was made to re-launch the original game on mobile platforms as RollerCoaster Tycoon Classic a few years ago, and it took several years and a small team of programmers to re-write the entire game in C++. It actually took a lot longer to re-write the game in C++ than it took me to write the original machine code version 20 years earlier.


  • is-number is a project by John Schlinkert. John has a background in sales and marketing before he became an open source programmer and started creating these types of single function packages. So far he has about 1400 projects. Not all of them are this small, though many are.

    He builds a lot of very basic functionality packages. Get the first n values from an array. Sort an array. Set a non-enumerable property on an object. Split a string. Get the length of the longest item in an array. Check if a path ends with some string. It goes on and on.

    If you browse through it’s not uncommon to find packages that do nothing but call another package of his. For example, is-valid-path provides a function to check if a windows path contains any invalid characters. The only thing it does is import and call another package, is-invalid-path, and inverses its output.

    He has a package called alphabet that only exports an array with all the letters of the alphabet. There’s a package that provides a list of phrases that could mean “yes.” He has a package (ansi-wrap) to wrap text in ANSI color escape codes, then he has separate packages to wrap text in every color name (ansi-red, ansi-cyan, etc).

    To me, 1400 projects is just an insane number, and it’s only possible because they are all so trivial. To me, it very much looks like the work of someone who cares a lot about pumping up his numbers and looking impressive. However the JavaScript world also extolled the virtues of these types of micro packages at some point so what do I know.


  • I feel like you’re giving them entirely too much credit here. The things in your list are in my opinion either not that outstanding, or they haven’t actually accomplished them yet:

    -They’ve constantly been working on a budget that was only every a fraction of a budget for something like a AAA Star Wars game would get.

    Already discussed in a comment below, but this is just demonstrably not true. Their development costs so far are the second highest of all time. Maybe there were some periods where money was tight, but that’s pretty irrelevant to me. More relevant is what they’ve delivered with all that money.

    -A ton of the core mechanics had to be made from scratch, because the current industry standard would constrain the game

    I’m not 100% sure what this even means. Like, It’s pretty common for games to make their own mechanics, if you’re not Ubisoft. This is not that special.

    -They swapped over to using what is close to a brand new game engine.

    Swapping engines sure is tough to do, but this is generally not a good sign. The only reasons to change engines partway through is either you’re in development so long that the engine is too outdated to deliver an acceptable game, or the scope of the game has changed so much the engine is no longer suitable. I don’t know which one applies here, but either way it’s just a ton of wasted work.

    -They have steadily and slowly rolled out new core game mechanics

    I mean, good I guess but that’s sort of the expected standard for early access? Not what I’d call outstanding

    -They’re working on simulating an entire galaxy’s economy.

    “Working on” is doing an awful lot of lifting in that sentence. So they haven’t actually accomplished this thing yet? Is the asteroid thing you’re describing already in the game? I’m also really sceptical of “an entire galaxy.” How big is the galaxy currently? A real life galaxy is 100 billion stars. They’re not going to have a 100 billion stars, right?

    -You can download the game in its current state, and hop on see what they’ve created at any time.

    Outstanding accomplishment. You can download and play the game, wow. I sure would hope so after all these years.

    Now, don’t get me wrong, I don’t mean to shit on Star Citizen. If you paid money and you’re having fun playing it and feel you’re getting your money’s worth, who am I to object?

    Where I do object is, fans of the game seemingly often evaluate the game based on the promises the development team makes, rather than what they have actually delivered. What the team promises is awesomely impressive. What the game currently offers is… not that.



  • Yeah I agree I hate this kind of obstructive customer service

    I work as a software engineer on automated customer service systems like these, and boy let me tell you, obstruction is the name of the game. For example: don’t make the phone number too easy to find on the website because it will lead to too many calls. We nudge people toward the FAQ and such first so they can hopefully find their answer there. Then, we have chatbots like this which contain exactly the same information as the FAQ again. And only then might we offer you contact with a human.

    The essential problem is that support is a cost center, so cost savings is the name of the game. We optimize for metrics like:

    • “deflection” (number of calls averted because we pushed the user into automated tools instead)
    • “first call resolution” (percentage of issues resolved in one contact. How do we know if your issue is resolved? Simple, if you don’t contact us again we assume the issue is fixed)
    • “Average contact time” (pretty obvious, get the customer off the phone ASAP)

    If you manage to get on text chat with a human, typically they are handling two other conversations at the same time, that’s why they seem so absent all the time (and why companies love chat. Much cheaper than calling).

    I’m not saying we’re all diabolical here. There is a general agreement among everyone in the industry that we should help the customer as well as we possibly can. Indeed every CS manager will tell you how important we are to our brand image and NPS, how we strive to be the most customer-friendly company etc. etc.

    But the numbers don’t lie. If you look at the metrics that everyone actually optimizes for, it’s cost cost cost.




  • VW is good at making cars, but bad at software. They’ve had to delay the introduction of new models (Golf, ID.3) because of software issues. Rivian has sort of the opposite problem: their production lines sit still often because of problems in the supply chain.

    Volkswagen has the expertise to solve Rivian’s production and supplier problems, and the cash they will need to survive and develop some cheaper models (the EV market is stagnating right now for a lack of budget options, and Rivian only sells trucks and SUVs). And they’re hoping Rivian software engineers can help them fix their software woes.




  • Honestly, I think it may be possible to build entire roads with enough crushed metal elements in the asphalt/concrete and a slight low power charge throughout the entire surface would be able to keep any vehicle battery at a steady charge.

    You might be underestimating how much power a car consumes while driving. For example, a Tesla model 3 has an efficiency of about 130 Wh/km in mild weather at highway speeds. Assuming that on the highway you’ll travel 100 km/h, that means you’ll use 130*100 = 13.000 Wh/h, a constant power draw of 13kW. That’s enough to power perhaps 8-12 houses on average.

    A km of road could have, let’s say, 200 cars on it (4 lanes, 20m per car). That means you’d need to pump about 2.6 megawatts of power into every kilometer of road to keep them all topped up.

    EDIT: fucked up math


  • It is very fun if you want to be sure that you aren’t missing anything the game has to offer.

    You’ve hit upon the crux of the issue, in my opinion. FromSoftware games in general are built on exploration and discovery, finding crazy cool stuff in some dark corner of the game is a big part of the experience. However, for discovery to be properly rewarding you have to allow for the possibility that the player will just miss the stuff you’ve hidden. Indeed, in a blind playthrough of Dark Souls you’re likely to stumble upon a bunch of different secrets and still miss 50% or more of them.

    That’s gonna be excruciating if you insist on “100% completing” the game. It kind of goes back to older days of gaming when there was no internet and no guides, and you just played the game and were happy when you saw the credits, and had no idea you even missed anything. I feel like modern games with their map markers for everything and completion percentages visible have kind of changed the way many people approach games.

    Not to say there’s anything wrong with using a guide, play the game how you like. And there is definitely an argument that if you bought the whole game, you’d like to experience the whole game.




  • Andrea Dworkin was an influential feminist mainly in the '80 and '90. She was pretty clearly anti pornography, at least as it existed in her time (she died in 2005. Who knows what she might think of some of the stuff out there today). She’s also one of the most frequently misquoted feminists of all time, particularly by anti-feminists. she did not say all heterosexual intercourse was rape:

    Several reviewers accused you of saying that all intercourse was rape. I haven’t found a hint of that anywhere in the book. Is that what you are saying?

    Andrea Dworkin: No, I wasn’t saying that and I didn’t say that, then or ever. There is a long section in Right-Wing Women on intercourse in marriage. My point was that as long as the law allows statutory exemption for a husband from rape charges, no married woman has legal protection from rape. I also argued, based on a reading of our laws, that marriage mandated intercourse—it was compulsory, part of the marriage contract. Under the circumstances, I said, it was impossible to view sexual intercourse in marriage as the free act of a free woman. I said that when we look at sexual liberation and the law, we need to look not only at which sexual acts are forbidden, but which are compelled.

    The whole issue of intercourse as this culture’s penultimate expression of male dominance became more and more interesting to me. In Intercourse I decided to approach the subject as a social practice, material reality. This may be my history, but I think the social explanation of the “all sex is rape” slander is different and probably simple. Most men and a good number of women experience sexual pleasure in inequality. Since the paradigm for sex has been one of conquest, possession, and violation, I think many men believe they need an unfair advantage, which at its extreme would be called rape. I don’t think they need it. I think both intercourse and sexual pleasure can and will survive equality.

    It’s important to say, too, that the pornographers, especially Playboy, have published the “all sex is rape” slander repeatedly over the years, and it’s been taken up by others like Time who, when challenged, cannot cite a source in my work.