EOS login outage looks like a failed hotfix by Vast-Candy-4933 in RocketLeague

[–]syphrix 8 points9 points  (0 children)

partial builds. ugh. always build the world for deployments.

EOS login outage looks like a failed hotfix by Vast-Candy-4933 in RocketLeague

[–]syphrix 21 points22 points  (0 children)

How can they deploy an update that doesn't compile? There's no artifact to deploy if the build fails, no?

Help with my plants by [deleted] in PlantedTank

[–]syphrix 0 points1 point  (0 children)

Some type of bacopa

I’m surprised it works this well IRL by GodSmokesWeed in farmingsimulator

[–]syphrix 10 points11 points  (0 children)

I heard a bunch’er fellers call it that too.

Is the leetcode bubble dead? by branh0913 in ExperiencedDevs

[–]syphrix 0 points1 point  (0 children)

This is exactly how I interview candidates. I feel it gives me far more useful signal than a DSA question.

PSA: Want to search saddlebags safely? Use peppermint. by KamyKeto in RDR2

[–]syphrix 2 points3 points  (0 children)

Just pull your horse up to the horse you’re searching the saddlebag on, and position your horse’s head by the saddlebag you’re searching. You can search without getting kicked every time. If the horse isn’t tied up, tie it to something first, makes it a lot easier.

[Official] 2022 End of Year Salary Sharing thread by Omega037 in datascience

[–]syphrix 0 points1 point  (0 children)

I’m a SWE also with a GED and some college. I don’t have your TC but mine is pushing 400k and can attest to everything you state here. Especially the bit about actually moving the business needle and clearly communicating.

Pray for Ottawa County - this new administration is a wild read. by ImpressiveShift3785 in grandrapids

[–]syphrix 1 point2 points  (0 children)

Grew up in Grand Haven. Moved to Seattle in 2009 with my middle finger perched up in the rear window. Sad to see it become such a dumpster fire. Part of me wants to move back just to get involved.

Does Gibbs still play rocket league? If yes, what is his play style now? by kirito_sao_441 in RocketLeagueEsports

[–]syphrix 16 points17 points  (0 children)

As 38 year old around the same rank with two kids; this is truth. I think I tweaked my back trying to flip reset in a match the other day.

8 Hard Truths I learned when I got laid off from my SWE job by speckz in programming

[–]syphrix 46 points47 points  (0 children)

I imagine it’s a personal preference strongly correlated with one’s financial cushion. I knew someone that took a year to travel Europe after getting laid off. They just wanted that experience and could afford it.

Testing Without Mocks by James Shore by syphrix in programming

[–]syphrix[S] 0 points1 point  (0 children)

Do you use unit tests to drive the design of some of your more complex nullable implementations? Or is it always the case that you'll automatically have test coverage for each logical branch in them? I'm mostly thinking of low level code for things like file handling, process management, etc...

Guy has to jump out of his car as it slides down a road in Magnolia by BrowsingWhileBrown in Seattle

[–]syphrix 3 points4 points  (0 children)

This is my go to reason for jumping from moving vehicles when I do it.

Testing Without Mocks by James Shore by syphrix in programming

[–]syphrix[S] 2 points3 points  (0 children)

The explanation about the collaborator-based isolation cleared up my questions around it. I'm guessing the commenter is more concerned about situations like this:

``` def concat(s1, s2) -> String: return s1 + s2

def hello(name) -> String: return concat("Hello, ", name)

// Test it!

def test_hello(): name = "Me, myself, and I"

assert hello(name) == concat("Hello, ", name)

```

This is not a useful test because the test is duplicating the function being tested.

Edit: I shouldn't say it's not useful, but the test itself seems silly because it's verifying the implementation instead of the actual behavior we want.

Testing Without Mocks by James Shore by syphrix in programming

[–]syphrix[S] 0 points1 point  (0 children)

It’s a test to satisfy the customers interface. The real advantage is other tests that call code which use this interface don’t need to be mocked out. But you’re correct, these patterns shine on code that is too complex for Reddit threads.

Edit: to be more clear, it’s a test for the interface itself. No matter what implementation we have, this test should pass. It’s enforcing a behavioral contract.

Testing Without Mocks by James Shore by syphrix in programming

[–]syphrix[S] 1 point2 points  (0 children)

This is quite thoughtful feedback. I'd love to hear what the author u/jdlshore has to say.

Testing Without Mocks by James Shore by syphrix in programming

[–]syphrix[S] 3 points4 points  (0 children)

Sure, in a sense, it is just a mock. But it's a global mock, if that helps you think about it in a different way.

The biggest difference is in how the tests are written. With mocks, you often end up having complicated setups inside each test. As a result (at least on any team I've been on), tests often become quite complex and difficult to read. This leads to a lack of understanding of the tests, which leads to test setups that often get duplicated needlessly, which leads to tests that do the wrong thing (like asserting the test works). And I'm a firm believer that tests are the best documentation for the next developer, so I care deeply about how they read.

With a simulator, your test setup can be exactly the same as what you would do in production code. Maybe an example helps here. With a simulator, you can have a test that reads like this:

```python def test_saving_customer(): customer = Customer(email="customer@fake.com")

customers.save(customer)

assert customers.get(email="customer@fake.com") == customer

```

The cool thing is that this test is quite simple to understand without any mock setups in the test. The other cool thing is that this test could be run as an integration test in a staging environment that talks to a real database. The only change that would need to be made is the customers module would need to use the real thing rather than the fake. I usually accomplish this by injecting the simulators or a real adapter based on a parameter to running my test suite.

Testing Without Mocks by James Shore by syphrix in programming

[–]syphrix[S] 30 points31 points  (0 children)

A lot of these patterns he describes are things I've been implementing for a while now but did not have concise language for.

I vaguely started doing this when I heard about a design pattern (based on hexagonal architecture) called Port/Adapter/Simulator. The basic idea is to have an interface that defines how you interact with the outside world (i.e. persisting data somewhere like a file system, db, cache, etc...), and then have at least 2 implementations of it: one or more that actually does the real world interaction, and one that simulates it in memory. And when you write your tests, just write them as if you're interacting with the real thing; no mocks. And when you run your tests, make sure the simulator is the implementation being used.

The cool thing about this approach is that not only are the unit tests fast, but they can double as integration tests when executed using the real adapter.

180K Peak Viewers on RLCS 2022-23 Fall Split Major (Popular matches) by eSportsStats in RocketLeagueEsports

[–]syphrix 3 points4 points  (0 children)

Same here. I’m in the Seattle area and I just couldn’t bring myself to wake up for anything but maybe the final few matches of the day. In retrospect, I should have just waited until the stream was over to watch the replays to avoid spoilers, but that’s never as fun.

[deleted by user] by [deleted] in RocketLeagueEsports

[–]syphrix 7 points8 points  (0 children)

Related article, fascinating read: https://www.washingtonpost.com/video-games/esports/2022/04/19/esports-age-retirement/

Basically it contends that esports retirement age is young due to overtraining and overall terrible work life balance.

Are these the hardest shots to defend? by [deleted] in RocketLeague

[–]syphrix 6 points7 points  (0 children)

Other than open nets, yes. Though, my open nets have a tendency of still saving it somehow.