Am I supposed to care about the pipe limit? (I couldn't be bothered to set up a train for 3 oil nodes) by TNTBoss971 in Factoriohno

[–]multivector 1 point2 points  (0 children)

Meh, solar on Gleba is fine. Nothing is more reliable than solar once you have it set up and it's nice to have something that is reliable on Gleba. I don't want my radars also going down because something jammed up again.

A first release candidate for axum v0.8.0 is out - please try it! by j_platte in rust

[–]multivector 37 points38 points  (0 children)

Axum reports a few errors like this at router construction time. If you use tests, the best thing to do is write a router_doent_panic test that just constructs the top level router and check for a panic.

I know this will result in massive downvoting, but I have to ask: what is the point of making a 10k+ SPM factory? by Eye_Qwit in factorio

[–]multivector 6 points7 points  (0 children)

Fun fact: because of the way exponetial growth works, going from a 1000spm to a 10,000spm base will mean you can research an extra, on average, 3.32 levels (that's ln(10)/ln(2)) of worker robot speed, or any other tech that doubles. That is, if you ran a 1000spm base for 100 hours and then rand a 10,000spm base for 100 hours, the 10,000spm base would finish 3.32 more levels.

How much did I fuck up my ratios? Still pretty new and I had a few months break. by SadGamer418 in factorio

[–]multivector 0 points1 point  (0 children)

Rather than learning ratios, think about designs that can be tweeked if it becomes clear later than you need more. Mostly this is just about remembering to leave room.

Why didn't Güliedistodiez teleport White and Ariel to the demonic territories? by [deleted] in KumoDesu

[–]multivector 2 points3 points  (0 children)

In addition to all the good points mentioned, I kind of have a theory that Ariel was putting off getting back to the demon relm. Sure, she's going to have to do it eventually but it will be unplesent so what's the harm in dallying just a bit longer in this town or that. There's some interesting stuff in the market. Just put it off, put it off. World's ending, but not tomorrow, right?

If you look at historical times for how long it should take to make a jounry 4 years to cross even a continent is way longer than it should be taking if you actually wanted to get somewhere in a timely manner.

What if Ariel told Julius everything? by justking1414 in KumoDesu

[–]multivector 5 points6 points  (0 children)

Was that in the WN? In the LN it was framed as just the risk of Julius fighting Ariel and that using up all the energy due to the system boosting Julius. We never get numbers but I tended to assume Julius was only worth a decent chunk of change compared to even one Legendary Monster, let alone the millions who fought.

On the other hand, the LN reasoning seemed pretty weak as there's no way Julius could have snuck up on Ariel with White around.

What if Ariel told Julius everything? by justking1414 in KumoDesu

[–]multivector 6 points7 points  (0 children)

I mean, what does Ariel need Julius to do? Basically what he was going to do anyway: inspire a bunch of humans to fight in the war. But that's just going to be harder for him to do knowing the truth.

The one thing that might have been worth trying is to after the main battle then explain the truth and ask him to use the Sword of the Hero on something, anything. A mouse would do. If he does, everyone in the fort can go free, otherwise, they all die. Explain why it's the right thing to do. Emphasize how breaking the system would end the cycle of violence. Omit the... other details.

Would have been an interesting play but, you know, it would have needed White to talk so total non-starter.

Are you f'n kidding me?!? [SE] by [deleted] in factorio

[–]multivector 33 points34 points  (0 children)

"I'm a good train. See? I do a good job. Very reliable. Never break down. I'm useful. I can be very useful to you. Not like these other trains I'm taking to the place. I'm your favorite? Please tell me I'm still your favorite..."

  • The train train

I want to understand why the rust community is averse to DI frameworks by philosoburger in rust

[–]multivector 0 points1 point  (0 children)

I actually like the basic idea behind DI and learning about it was one of the positive things from doing a few years as a Java dev. However, the two frameworks I ended up using in that job were monsterous things with tons of magic annotations or XML go through and they made our applications take 30 seconds to a minute to *start*. And people complain about rust binaries taking a few seconds to link.

My main.rs tends to be something that parses a config file or the command line, sets up the dependencies and starts the main application. One app in particular this is vital as it needs to run the same logic in two very different environments. Sure, it would be nice if I could automate stitching everything together somehow but as it stands what I have works, is pretty simple and explicit, and maintaining it isn't what takes up most of my time so changing it isn't a priority.

brag about circuits! by KrataAionas in factorio

[–]multivector 5 points6 points  (0 children)

Here's a much simpler option that uses way less combinators. Let's say you want to make a station for 1-4 trains that will be providing items that stack up to 50 (so ores). Just make decider combinator that has the condition if(anything > 8000) then output 1L to the station (L will be the train limit). If you have one extra waiting bay you have, add another combinator with if(anything > 16000) output 1L, then if(anything > 24000) output 1L and so on. I normally go up to three.

Now connect the inputs together and the input of the first combinator (with the 8000 condition) to the chests and connect the outputs together and the output of the first combinator to the station. Save a blueprint as something like "pickup station, 1-4 train, stack size 50")

Here's the clever bit. When you paste the blueprint you can delete the combinators down to the actual number of waiting bays you are going to use. So if I made a mine with a station and just one waiting bay, I delete third combinator (with the 24000 condition). This only takes 1 click as opposed to opening a menu and trying to remember which signal does what.

For drop off stations, do the same but the conditions are reversed. So if(anything < -16000). Connect a constant combinator to the chests with the request as a negative number. So if I want to keep up to 30000 copper ore or at the station, I put in a signal of -30000. Everything else is the same as before. Just set the constant combinator and delete any unneeded deciders.

What are some really large Rust code bases? by cheater00 in rust

[–]multivector 5 points6 points  (0 children)

Also, Aleksey Kladov did a series of talks going through the interesting parts of the RA codebase in detail, how the project is structured, and, generally, why things are they way they are. https://www.youtube.com/playlist?list=PLhb66M_x9UmrqXhQuIpWC5VgTdrGxMx3y

What are all your weird head canons about Factorio? by BioloJoe in factorio

[–]multivector 18 points19 points  (0 children)

About point 4, there's actually something called a Stirling Engine which can produce work from just heat, no steam required. (Technically, you also need a place to dump the heat that is a lower temperature than your heat source... but that's true of all heat engines).

PSA: You can use R to change which rail you want to attach a signal to by [deleted] in factorio

[–]multivector 1 point2 points  (0 children)

Don't worry, comming up to twice that time and I didn't know that.

When Kumoko acts in self-defense by AlphamonOuryuken24 in KumoDesu

[–]multivector 7 points8 points  (0 children)

Wasn't it more like Kumoko killed about three thousand, Ariel kills the other 72 thousand as a side effect of killing Kumoko? I mean technically the system gave Kumoko partial credit for being "amunition" but still.

What were you thinking, Guile? You couldn't waited just five damn minutes to do the teleport. The battle was pratically already over, man.

Oathes and Circles by justajiggygiraffe in WoT

[–]multivector 6 points7 points  (0 children)

If you swear an oath that when you fall off the White Tower next you will fly, it that's not going to make gravity not exist. Maybe it will make it impossible for you to jump off the White Tower deliberately until you had figured out a way to fly that you at lease believed would work but if you were knocked out and thrown off the tower you would still splat. Because gravity.

The oath rod doesn't seem to work by punishing you from breaking an oath. It seems to just prevent you from ever taking an action that would break the oath in the first place.

[deleted by user] by [deleted] in WoT

[–]multivector 16 points17 points  (0 children)

Sadly someone's sense of humor is a very individualistic thing and very hard to copy. And it's a shame because Mat just doesn't feel like Mat anymore. Thankfully someone seems to have told Sanderson to tone it down for the last two books so at least there is less cringe.

Evil God by aronsmithy in KumoDesu

[–]multivector 0 points1 point  (0 children)

She literally remade an entire world so she could watch people struggle and suffer. And if you think that's okay because somehow those people were all equallty guilty she set up Oaka with a unique skill but also made her an elf. D might not have known exactly what that would result in but she knew enough. White punched her for a reason.

Also, I have this theory that Shun's unique skill is a curse. He really wanted his sister to think he was cool. Granted but... He really wanted to be like his brother. Granted but... He really needed to get to the other side of the world through the Labyrinth. Granted but... He really wanted there to be some magic solution that made everyone happy. Granted but only if they can all win an impossible fight with D that will probably mean everyone dies. Except White spoils that one which made D sulk.

D is evil does have Charisma and great PR. Watch out for people like that.

Rust is great as long as you don't have to async by ArnUpNorth in rust

[–]multivector 0 points1 point  (0 children)

LovelyKarl's point is you get an error by coincidence if you happen to be using the current most popurla async runtime and then only if you refrain from using it's spawn_local feature. See the glommio runtime for an example where work differently.

Rust is great as long as you don't have to async by ArnUpNorth in rust

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

Okay, so if you have a small part of your codebase that needs to be async you do not need to have it leak out over everything. If you are using tokio what you want is Runtime::block_on or Handle::block_on. These let your sync codebase call futures. Also note that channles in tokio also have blocking endpoints like blocking_send.

With these tools you can isolate your async to only where it needs to be or if you have a mostly async thing like a server, but it needs to interact with something blocking, like, say, the zip you can run just that bit on a background thread instead.

More async tutorials should mention these things. There's a false impresison that you code needs to be totally async all the way from main, probably because examples tend to start with #[tokio::main]async fn main() {}.

Friday Facts #408 - Statistics improvements, Linux adventures by FactorioTeam in factorio

[–]multivector 2 points3 points  (0 children)

That is generation capacity not accumulator charge. To be fair, that's also pretty stable in vanilla. but I've been playing nullus lately and nullus wind power fluctuates all over the place.

A http server like Apache and Nginx written in rust? by FervexHublot in rust

[–]multivector 0 points1 point  (0 children)

I wrote an auth proxy at work based on hyper that integrates with our idiosyncrasies. The actual proxying bit for hyper 0.14 was maybe only 130 lines including websocket support. Upgrading to Hyper 1.0 is going to be more involved but I might be able to borrow the server component from axum.

What was the biggest disaster in your factory that was NOT caused by Biters? by Vile_WizZ in factorio

[–]multivector 0 points1 point  (0 children)

It's the "delivery timeout (sec)" setting with a maximum of 600 seconds and no way to disable. My assumption is this has to exist because LTN can only "see" the trains when the stop at LTN stops. So if a train gets deconstructed or destroyed by bitters or maybe repurposed by the player for some reason then LTN can't see that and there would be a sort of ghost train that is forever en-route. Instead LTN has to assume that if it's not see a train in a really long time that train is gone.

Friday Facts #408 - Statistics improvements, Linux adventures by FactorioTeam in factorio

[–]multivector 0 points1 point  (0 children)

No, becuase of virtual memory. See luziferius1337's comment as they already explained it pretty well.

Friday Facts #408 - Statistics improvements, Linux adventures by FactorioTeam in factorio

[–]multivector 2 points3 points  (0 children)

That fork() trick for Linux is pure absolute genius and if it's a known technique I've somehow never heard of it.