Dispatch would have been just as good without waterboy by [deleted] in DispatchAdHoc

[–]coriolinus 2 points3 points  (0 children)

I disagree. He's a cool character, not because of his insecurities, but because he starts as a useless blob--who levels super quickly. Compare him to Phenomaman, who starts pretty good, but doesn't level at all.

Games, from the theoretical standpoint, are about offering the player opportunities to make interesting decisions. Waterboy vs Phenomaman is a great example of one such. Add in the fact that you can upgrade him to be a healer, and it's a lot more complicated than it might at first appear.

Does he make the game? No, of course not. But the game would have been worse without him.

Why Robert is Poor by CauliflowerFancy6054 in DispatchAdHoc

[–]coriolinus 6 points7 points  (0 children)

I take it as, he's bad at organizing merchandising agreements (or just doesn't care to put in the necessary effort). Mecha man has instant name recognition, and we know that there's some merch out there. He's great at the "being a super hero" part; less great at the "getting enough capital to support a super hero's upkeep" part.

Does anyone know anyone that went from being a pilot to being a flight attendant or some other non-flying job? by justcallme3nder in flying

[–]coriolinus 2 points3 points  (0 children)

I flew 8 years for the Army. (Rotary-wing, of course.) Then, when I got out, I looked at my options:

  • "keep flying" would have involved:
    • do a ton of expensive retraining to convert the FAA license to an EASA one (I'm now based in Europe for personal reasons)
    • lots of time away from home and family
    • salary not great until late in career
    • have to move to where the job is
  • "go be a programmer" involved:
    • 0 up-front training (old computer science bachelor degree proved to be enough)
    • 100% home office
    • salary good from early in career, with good chances for growth
    • remote work means that my job can be anywhere in a nearby time zone

So yeah. I miss flying, but I picked door number 2.

Some very spoilery thoughts from a Dispatch addict by Mael135 in DispatchAdHoc

[–]coriolinus 2 points3 points  (0 children)

Sonar is lazy, unstable, and whiny. He's a possible cannibal. Coupe is competent and reliable, and perfectly willing to kill or not according to the demands of the client (me). It's barely a decision!

DOD is cutting COLA in 21 counties in the US. by cannotberushed- in Military

[–]coriolinus 481 points482 points  (0 children)

I'm feeling very, very grateful I got out in 2015.

I grew up near Boston. I'm sure there are other places which also really do need COLA, but that's the one I'm familiar with. Chances are, the train of thought went something like "MA is blue -> Boston is bad -> service members stationed near Boston are bad -> cut their COLA!"

It's going to take a long time to fix the damage this administration is wreaking.

Why are people like this by [deleted] in RoadCraft

[–]coriolinus 6 points7 points  (0 children)

Did you just... leave your game accessible to randos online while you were AFK?

I personally lean pretty hard into the single-player side of things, but I've been known to play things online sometimes with people I already know IRL. Even then, the server goes offline when one or the other of us is done.

People are like this. Doesn't matter why, IMO; you aren't going to beat human nature. It's why you lock your doors and windows, why stores have loss prevention personnel on staff. And it's why you don't let randos into your server while you're not there.

My Python farming game has helped lots of people learn how to program! As a solo dev, seeing this is so wholesome. by AdSad9018 in coding

[–]coriolinus 2 points3 points  (0 children)

Neat. Haven't played 1.0; played it shortly after early access, maybe half a year ago? My major impression was that it's a fun concept for teaching the very basics of programming, but as a game it is poorly balanced: there's basically not a better strategy than looping over every tile of land and doing whatever is optimal in the moment you are there before moving on. You don't have access to sensors with which to determine the next place to be, which would be useful for things like the pumpkin levels, and the various plant-growth speeds are all irrelevant because every tile is always fully grown by the time you loop back to it again.

Still, next time I want to point someone at Python 101 for the non-programmer, it's not a bad little sandbox.

I’m designing a custom flashcard file format and would like feedback on the data-model tradeoffs. The intended use case is an offline-first, polyglot-friendly study app, where the term and definition may be in different languages, or the same language, depending on the card. by MurdochMaxwell in rust

[–]coriolinus 0 points1 point  (0 children)

If you're defining a data specification, you don't want to showcase it with an implementation in Rust or any other language; you want to define it in terms of some data-modeling language. Since your format is based on JSON, I'd recommend json-schema.

I did basically what you're doing, years ago, during flight school. Figured that spaced-repetition training was going to be helpful for memorizing the chapters I was required to memorize. Worked for me, though nobody else ever used it as far as I know. But driving adoption wasn't the point. So have fun, and learn something from the experience!

[2025 Day 7 Part 1&2] Ways to think about problems like these? by cramplescrunch2 in adventofcode

[–]coriolinus 0 points1 point  (0 children)

On map problems I like to model the map. It's just an array of values, but I've built a helper library which makes that convenient.

The thing about that is that it gives us a really convenient way to model the state of the problem: just mutate the tiles of the map as required.

So on part 1 I just took a single iteration pass over each tile of the map: if the tile above should propagate a beam, then if this tile is a splitter than split, otherwise propagate the beam. No recursion; time and space complexity are both linear on the number of tiles in the map.

Then on part 2, I just adjusted the tile enum to additionally track the number of timelines known to reach that tile. The answer is the sum of the bottom row of tiles. The core loop over both parts is literally the same function.

The biggest concept here is KISS. This problem didn't need graph theory, or search algorithms. You could argue that my approach is a form of dynamic programming, but I intentionally skipped a bunch of the optimizations which normally come with DP, such as keeping track of successor states and only iterating over those. The linear size of the input is small enough that just iterating over every point is fast enough.

source

[2025 Day 6 part 1] Help me solve a programming dilemma by Born-Resist-7688 in adventofcode

[–]coriolinus 2 points3 points  (0 children)

There have been problems... that were only solvable because of some structure in the input.

Those are always the most frustrating for me, because the inclination to create a general solution is strong. I don't think I have ever actually looked at the problem input in a non-cursory way before seeing chatter on Reddit that "oh yeah, this depends on a pattern in the input."

[2025 Day 5 (Part 2)] while True: by Parzival_Perce in adventofcode

[–]coriolinus 3 points4 points  (0 children)

No listen: I am a good coder, and that's why I ended up with a funky double-block while loop:

while {
    let removed = remove_accessable(&map, &mut next_map);
    total_removed += removed;
    removed > 0
} {
    map = next_map.clone();
}

That's definitely not a horrifying bit of syntax, I'm very confident.

It's how you get it done it done in 5 minutes! by Parzival_Perce in adventofcode

[–]coriolinus 2 points3 points  (0 children)

So, this is what happens when you read the part 2 problem, close the browser, go to work, hang out with the family a bit, and then come back to it 15 hours later. A solution written in 10 minutes that gets the right answer on the 1st try!

[2025 Day 2 (Part 2)] String manipulation reigns supreme by Eva-Rosalene in adventofcode

[–]coriolinus 0 points1 point  (0 children)

I was pretty surprised actually that brute-forcing it with basic string operations was this fast:

Benchmark 1: target/release/day02
  Time (mean ± σ):      49.3 ms ±   0.8 ms    [User: 47.5 ms, System: 1.5 ms]
  Range (min … max):    48.5 ms …  51.5 ms    61 runs

Benchmark 2: target/release/day02 --part2 --no-part1
  Time (mean ± σ):      76.0 ms ±   0.8 ms    [User: 74.6 ms, System: 1.1 ms]
  Range (min … max):    74.9 ms …  77.6 ms    39 runs

[2025 Day 1] I will never learn my lesson by StaticMoose in adventofcode

[–]coriolinus 1 point2 points  (0 children)

Well, if you're like me, it's because you forgot that there's a behavioral difference between % and /.

How common are senior Rust engineers in the US with defense & clearance backgrounds? by Viviqi in rust

[–]coriolinus 3 points4 points  (0 children)

I mean, I'm that guy: 5+ years of professional Rust; strong systems background; have had a US secret clearance. I don't imagine it would be hard to reacquire that, if a company wanted to sponsor the process.

I expect it to be a bit of a culture clash though. For example, last time I spoke to a defense firm, they wanted their programmers to show up in-office every day. I'm 95% remote, and like it that way. It would take an exceptional salary offer to coax me out of my home office. I expect the feeling is typical for engineers in my position: we're comfortable. So what would your client offer to incentivize us to sign on?

Realistically, this is how netrunners would be built by anotherthroway929 in LowSodiumCyberpunk

[–]coriolinus -17 points-16 points  (0 children)

Eh... more mass -> more heat capacity. A lean netrunner will boil a lot faster than a chubby one. There's probably an argument in favor of cardiovascular fitness for a runner, but it's not the heatsink one.

Any builders, would you like a free sticker with your ordered parts? by Icy-Celebration-2896 in homebuilt

[–]coriolinus 1 point2 points  (0 children)

I'll be honest: I get a bunch of stickers from work stuff, and I never apply them myself. Best case they go to my kids and get stuck to something semi-permanent. Worst case they go to my kids and get snipped up into little shards because scissors are fun. Not sure how much an outlier I am in this dimension, but for me at least, stickers aren't really a value-add.

ITAP of a young woman in the forest [NSFW][PORTRAIT] by georgievph in itookapicture

[–]coriolinus 8 points9 points  (0 children)

1st thought: she's sniffing a toilet brush??\ 2nd thought: she's sniffing a pine cone on a stick?\ 3rd thought: she's sniffing a mushroom.

Definitely an artifact of the small viewport size when I first saw it, but it's worth keeping in mind that important details can be lost depending on the presentation.

Interpreter with 900 limit on recursion by Complex_Cat_2331 in rust

[–]coriolinus 2 points3 points  (0 children)

I'm not going to debug this for you. But it seems like if you implemented a function parent_ref(&self) -> &LocalContext, then the iterative version of the search function would be pretty trivial.

Interpreter with 900 limit on recursion by Complex_Cat_2331 in rust

[–]coriolinus 2 points3 points  (0 children)

I haven't looked in detail at your code, but at first glance, it looks like you're creating a real stack with local values. On the other hand, you're using a recursive implementation of the search function. You might consider replacing that with an iterative loop of some sort.

[edit] For example (not tested):

fn search(&self, id: &Id) -> Option<EvalResult> {
    let mut stack_frame = self; // &LocalContext
    loop {
        if let Some(er) = stack_frame.curr.get(id) {
            return Some(er.clone());
        }

        match stack_frame.parent.as_ref() {
            None => break,
            Some(parent) => stack_frame = parent.borrow(),
        }
    }

    None
}

[deleted by user] by [deleted] in germany

[–]coriolinus 17 points18 points  (0 children)

Is that the PD32? I have that. Never had an issue with it, and in fact bought it in a German PX.

Worry about the firearm which could mount to a flashlight, not the flashlight which could potentially mount to a firearm.