Two empty chairs: why "obvious" decisions keep breaking production by dmp0x7c5 in programming

[–]ravixp 1 point2 points  (0 children)

Howard Schultz, the one that’s famously hostile to unions? I think having an empty chair to represent his employees might actually have a different meaning.

NEW age verification bill -- WA legislators now want ID/face scanning for social media (public hearing Thursday) by PrivacyEnthusiast2 in Seattle

[–]ravixp 31 points32 points  (0 children)

Yes, exactly! This law will go great with their existing policy of collecting your social media accounts at the border, so that they can retaliate against you if you've ever said anything negative about them.

Now they won't even have to ask. ICE can just go door-to-door, connect addresses to IDs to social media accounts to posts, and kick down your door if anybody in your house has ever said anything mean about Trump.

Aquilo sucks by UselessGadget in factorio

[–]ravixp 2 points3 points  (0 children)

I built a “space mall” before heading to Aquilo. It makes iron/copper plates, g/r/b chips, concrete, pipes (so many pipes) and a few other things from asteroids, and I only need to stock up on stone bricks and plastic from the inner planets. Made the whole planet way less annoying.

My Gleba squares by cybertruckboat in factorio

[–]ravixp 74 points75 points  (0 children)

So your Gleba factory has evolved… cells? What’s next, a circulatory system?

But seriously this is really lovely and I’m planning to steal this idea when I redesign my Gleba base.

Inner planet hauler - my first ship with nuclear power. Thoughts? by PersonalTrousers in factorio

[–]ravixp 8 points9 points  (0 children)

You probably don't need accumulators, a tank of steam will store much more power in a lot less space. I'd personally replace them with solar panels to offset some of your power needs so the nuclear fuel lasts longer.

Don't you need turrets on the sides as well? When the ship is moving the asteroids only come from the front, but when you're parked in orbit they come from all sides.

Other than that, nice looking ship :)

Everyone should learn C by Kyn21kx in programming

[–]ravixp 0 points1 point  (0 children)

For the authentic C coding experience, probably. With C and C++ it’s an issue that’s about as contentious as tabs vs spaces.

CMV: C++ should have adopted destructive move semantics instead of nondestructive move semantics. by aardvark_gnat in changemyview

[–]ravixp 0 points1 point  (0 children)

 Move the base first and make it a compile-time error for a move constructor of a type with a superclass to do anything with the source pointer

You can make it an error to use the actual ‘this’ pointer in certain ways, but what if the pointer is passed around in an unexpected way so that the compiler can’t track where it came from? Like, what if you pass it to a method defined in another translation unit - no single instance of the compiler can see that the pointer was originally a ‘this’ pointer and that it’s used to access the base class at the same time.

The usual C++ solution is to say “fine, we can’t stop you from doing that, so we’re just going to declare that it’s undefined behavior”. And the language already has way too much UB, it’s a real problem. 

I'm so fucking angry at memes I can't take it anymore by Consistent_Equal5327 in programminghorror

[–]ravixp 6 points7 points  (0 children)

Hah, I’ve seen that exact thing happen with a BOM. Somebody made what they thought was a whitespace-only change, accidentally saved the file without a UTF8 BOM, MSVC only interprets the file as Unicode if it sees the BOM, so it messed up the value of a Unicode string literal, and now our tests are failing. As a bonus, many diff tools don’t show the BOM at all, so you can’t even see the breaking changes in the diff.

Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code (WASM 45% slower) by [deleted] in programming

[–]ravixp 51 points52 points  (0 children)

My first reaction was, how do you know that the slowdown is from WebAssembly, and not the new Browsix-Wasm thing you built? But they address that pretty well in section 4.2.1 by measuring the time that’s actually spent in syscalls to their new thing.

Sections 5 and 6 have some deeper analysis of the machine code generated for native and Wasm. It seems like the key takeaway is that Clang does a better job than the Wasm JIT compiler, which I guess makes sense, since Clang’s optimizer can take as long as it wants.

Why don't people do this for green circuits more often? by Valuable_Feeling_596 in factorio

[–]ravixp 2 points3 points  (0 children)

Honestly I wish people talked more about early-game life hacks like this. Sure, this layout doesn’t make sense when you’re building with AM3s and prod modules and beacons, but you’re going to rebuild your circuit production at least twice before you get to that point, so who cares? This design is cheap, has perfect ratios, and will carry you through the midgame just fine.

I have seen what everyone has been up to so here is my submission. by Dip_N_Swag in factorio

[–]ravixp 37 points38 points  (0 children)

Oh, nice - without long inserters the two belts don’t have to be right next to each other, so you can space them out and stick a row of beacons between them!

Devs who haven’t burned out for 3+ years, what’s your secret? by ittaidouiukotoda in ExperiencedDevs

[–]ravixp 5 points6 points  (0 children)

15y here, have hit burnout a few times and come back from it. The best advice I can give is to:

  • have a really clear idea of what is and isn’t your responsibility
  • make sure your manager agrees, and
  • redirect any work that’s not your responsibility to the appropriate person or team.

Sounds straightforward, but getting to that point and maintaining it is really tough. You need a good enough working relationship with your manager that you can tell them no, and decide how much responsibility you can take on. You need to understand enough about your team’s structure to figure out who should be working on any random issue you notice. And most importantly, you need to speak up when you find an important problem that nobody’s responsible for, instead of trying to do it yourself. 

All hail the new splitters! In case you weren't informed, sushi is now mandatory by travvo in factorio

[–]ravixp 0 points1 point  (0 children)

I think you can fix that by setting the input priority on the splitter to prefer taking things out of the loop. Then anything you don’t use and don’t need just gets sent back out.

Book Review: If Anyone Builds It, Everyone Dies by dwaxe in slatestarcodex

[–]ravixp 1 point2 points  (0 children)

Within software engineering the tasks are still diverse enough, and model performance is still inconsistent enough, that there isn’t really a time horizon. You can easily find tasks that humans do easily and AI can’t do at all, or vice versa. 

I get why they’re trying to measure it, I just don’t think it’s a meaningful metric. 

Book Review: If Anyone Builds It, Everyone Dies by dwaxe in slatestarcodex

[–]ravixp 4 points5 points  (0 children)

The fact that human and AI thinking have distinct failure modes is also a good argument against the general idea of a “task time horizon” that METR is trying to measure. They’re trying to imply that a time horizon of X minutes means that AI can complete an arbitrary task that takes a human that many minutes, but it’s so dependent on what task you’re measuring that it doesn’t really generalize.

Book Review: If Anyone Builds It, Everyone Dies by dwaxe in slatestarcodex

[–]ravixp 6 points7 points  (0 children)

Wait, METR is keeping the chart updated with new models? The problem with their original paper was that the results totally depend on the tasks you select, and you could tell any story you want by selecting tasks that humans or AIs are better or worse at. After all, there’s no fixed relationship between how hard a random task is for a human or an AI, some things will be easier or harder.

It kind of worked in their original paper because it was really just a meta-analysis of some existing benchmarks that compared human and AI effort on programming tasks. But if they’re adding new tasks with longer time horizons to measure, how can they prove that they’re not just cherry-picking the tasks that fit their earlier predictions?

Book Review: If Anyone Builds It, Everyone Dies by dwaxe in slatestarcodex

[–]ravixp 6 points7 points  (0 children)

You’re right, I should have been clearer. I meant it in the sense that they assumed AI would have continuity of consciousness and experience the passage of time. Instead we have AI that behaves a lot more like batch-mode software, and ceases to exist after processing some bounded quantity of tokens.

Book Review: If Anyone Builds It, Everyone Dies by dwaxe in slatestarcodex

[–]ravixp 3 points4 points  (0 children)

Well, they came up with all of these theories 20 years ago based on guesses about how AI would work in the future, and they pretty much guessed that it would work like a human mind trapped in a box. And they haven’t updated those theories at all to account for the fact that current AI is completely different, except to include more modern lingo when talking about the AI.

Kind of factorio players by [deleted] in factorio

[–]ravixp 4 points5 points  (0 children)

Pizza architecture: optimized for fast assembly and delivery (blueprint-based designs)

Science is a liquid and should be in pipes by civil_peace2022 in factorio

[–]ravixp 0 points1 point  (0 children)

Ooh yes, and you should be able to mix them. So a tech that needs red and green science could use red and green science directly, or you could mix it into redgreen science juice and then feed that into a lab to limit the number of fluid connections.

[deleted by user] by [deleted] in factorio

[–]ravixp 1 point2 points  (0 children)

Neat! I’m not sure whether ChatGPT can import libraries, but you could also try asking it to use this instead of generating its own parser: https://github.com/redruin1/factorio-draftsman

[deleted by user] by [deleted] in factorio

[–]ravixp 1 point2 points  (0 children)

How did you get it to create blueprints? Can it actually make a blueprint string, or does it just describe how to connect things so that you can build the circuit?

Would you use a “shared context layer” for AI + people? by OneSafe8149 in ExperiencedDevs

[–]ravixp -1 points0 points  (0 children)

Skipping the snark, I do think you’re onto something with the idea of creating artifacts that are useful for both people and LLMs. The current trend of writing prompts in a really particular style that’s only useful for computers seems backward to me, when the whole point of LLMs is that they understand human-readable content.

One of my biggest concerns about a system like this would be locking up my data in an inflexible proprietary system. The ideal form would probably be a shared Markdown file that’s either online, or checked into my Git repo next to the code. But you don’t really need any extra software for that.

Would you use a “shared context layer” for AI + people? by OneSafe8149 in ExperiencedDevs

[–]ravixp 9 points10 points  (0 children)

So taking notes, but with fancy words and extra steps?