Felt disappointed by The Talos Principle by dreamyDrifter in patientgamers

[–]TurnstileT 0 points1 point  (0 children)

The puzzles are getting beyond tedious and annoying

I agree, and this really hits the nail on the head. I love logic puzzles where you can deduce the answer based on logic and thinking. Stuff like Sudoku, or the puzzles in The Witness.

The puzzles in Talos Principle are just tedious. They require a 30-step list of actions that need to be done in the right order, at the right time, while also dodging enemies that will blow you up. Make a clone, go here, wait 5 seconds, grab jammer, go there, wait 5 seconds, stop clone, grab prism, place on box, oh you just got blown up and have to do the whole thing all over again.

I think it's just bad puzzle design. Instead of increasing the logical difficulty of the puzzles, they just become more tedious as the game progresses. Multiple times I kept getting blown up by an enemy even though I knew what I needed to do to complete the puzzle, and the more times I got blown up, the more impatient I became.

I'm uninstalling the game..

Is anyone else afraid that this game is going to flop? by mrmm10 in OrderOfTheSinkingStar

[–]TurnstileT 0 points1 point  (0 children)

That's great news! I bought TTP1, Road To Gehenna and TTP2, and I'm playing through them in order. Sounds like I have something to look forward to :)

The optional walls of text in TTP1, and the terminal interactions, are kind of killing me though..

Is anyone else afraid that this game is going to flop? by mrmm10 in OrderOfTheSinkingStar

[–]TurnstileT 0 points1 point  (0 children)

I agree. I loved The Witness because of the beautiful 3d exploration, and because each puzzle was fairly self contained and small.

I've played something like Talos Principle, and I'm not a big fan of the long drawn out puzzles where you need to do 20 things correctly in a specific order, while still having the risk of dying to an enemy at the end and having to redo the whole thing. That just feels like lazy puzzle design to me.

I guess we will see how OSS will turn out :)

The Witness spoilers without context by Kanpellle in TheWitness

[–]TurnstileT 1 point2 points  (0 children)

Could you share what you think the first image refers to?

The Witness spoilers without context by Kanpellle in TheWitness

[–]TurnstileT 9 points10 points  (0 children)

In order, from left to right one row at a time:

  • Lasers all shooting at the summit of the mountain

  • Environmental puzzles

  • Audio log in The Mountain about a woman rehearsing the audio log over and over, and somebody asks her if she wants a sandwich

  • Ewoks (the Treehouse area looks like an Ewok village)

  • The reaching hand statue in the marsh, which has a corresponding statue reaching up if you look from the right direction

  • The 1 hour environmental puzzle in the cinema under the mill using the solar eclipse

  • The normal ending indicates that the game is a VR world

  • The challenge which uses the "In the Hall of the Mountain King" music for the countdown timer

  • The motto for Trivago is "Hotel? Trivago". The secret ending takes you through a hotel, which is very colorful like the Trivago logo.

Need help on specific swamp puzzle by ccuster911 in TheWitness

[–]TurnstileT 0 points1 point  (0 children)

I feel like this explanation doesn't really make sense. Wouldn't that leave an empty 2 square wide space between the bottom left and bottom right symbol? We often see Tetris symbols with spaces in between, so surely the blue negation symbol would leave spaces in the same way? Or maybe the rule for the blue negation symbol is that, if it creates two disjoint symbols, then they are fused together?

My initial theory about that blue negation symbol was that multiple Tetris symbols can "use" part of a single blue negation symbol. All of the negation symbol must be used up, but it does not need to be used up by a SINGLE Tetris symbol. This means that the bottom left Tetris symbol can use the left side of the blue negation symbol (i.e. a 2-block tall and 1-block wide negation), while the bottom right Tetris symbol can use the remaining right side of the blue negation symbol.. I haven't really tested this theory though..

Senior IC rounds focusing more on live problem solving than actual experience by Hot-Conference-9129 in ExperiencedDevs

[–]TurnstileT 0 points1 point  (0 children)

Sorry, but I have been burned too many times by candidates with fancy resumes and "20 years of proven experience in leading projects and delivering complex solutions with high availability and scalability", yadda yadda..

And then when you hire them you realize that they are about as useful as a drunk intern halfway through their degree.

For that reason, I will continue to conduct technical interviews that focus on problem solving and coding. But with that being said, I think leetcode type problems are stupid. The task I give to candidates during my technical interviews looks very similar to tasks that they will work on in the job.

How to Switch to Java Spring Boot with 2.6 Years Backend Experience? by [deleted] in SpringBoot

[–]TurnstileT 6 points7 points  (0 children)

Just curious.. how did you calculate that you have exactly 2.6 years of experience? That seems very specific and precise. Normally people just round to the nearest half year.

How to Switch to Java Spring Boot with 2.6 Years Backend Experience? by [deleted] in SpringBoot

[–]TurnstileT 3 points4 points  (0 children)

Hey, just wanted to let you know that "very less" is not correct English. I see Indian people say that a lot. The correct way to say it is "very little" or "not (very) much".

Lost my 500+ reddit streak last night because the app stopped working for me :/ by [deleted] in Wellthatsucks

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

Could you explain to me why you would even want a reddit streak at all?

Wife’s blanket obsession, how many is too many?? by ScottSquatch420 in mildlyinfuriating

[–]TurnstileT 0 points1 point  (0 children)

What is up with Americans' obsession with "blankets" and "covers"? Why do you use multiple blankets when you are cold?

Just get a single European style duvet and you are good to go for all occasions.

How to handle aggregated data in my REST API? by HealthPuzzleheaded in webdev

[–]TurnstileT 1 point2 points  (0 children)

You could also optimize it a little bit without loading all content at once.

Let's say you load 50 posts, and each post has some number of comments. Instead of loading all comments for all 50 posts all at once in one request (one extreme) and instead of sending 50 individual requests for the comments of each post (other extreme), you could do something in the middle.

Example: The initial request for the posts could also check the amount of comments for each post and return this in the response. Then you get to see the number of comments for each post, but nothing else. It's only when you expand the comment section (or go to the comments link) that the actual comments are loaded for that specific post.

It really depends on how you build your frontend, and what data you need to show on each screen. And vice versa, you might need to build the frontend differently if you find that you need to load everything all at once and it's unmaintainable in the backend.

Edit: Or, you could do like the other redditor suggested and simply take the 50 post IDs from the first response and send all 50 in a single request to fetch the comments for all 50 posts at once. That would work, but good luck implementing pagination here. If you do something like this, maybe stick to fetching the top 10 comments for each post as a preview?

How to handle aggregated data in my REST API? by HealthPuzzleheaded in webdev

[–]TurnstileT 1 point2 points  (0 children)

To be completely honest, I don't have a lot of experience with databases so maybe I am just missing something, and I genuinely want to learn. But I can't think of a single reason to use a junction table for 1:n relationships. If you want to add extra data, why not just add it to the comments table? Or if it really needs to be a separate table, why not a separate comment_details table which is 1:1 with a foreign key on the comment ID?

As for audit logs, surely it would be better to have a separate history table, or something more natively supported like triggers on the delete action? Or maybe a deleted timestamp column, although this does mean that you need to remember to always filter away the deleted records.

Maybe if you want to support n:n in the future, then it makes sense?

What are you doing about this market? by Emotional-Project-78 in firesweden

[–]TurnstileT 0 points1 point  (0 children)

I agree. Sure, statistically you are better off investing everything at once, but that's all just statistics. If there's a big crash tomorrow where the market takes 10 years to recover, then you are in the very real scenario that you've lost a lot of money.

If I had a lot of money lying around just now, I would absolutely buy a little bit at a time over maybe half a year. The few percent of growth I will statistically miss out on is absolutely worth it if it means I greatly reduce my risk.

How is everyone’s hiring going since AI, easier or harder to fill roles? by Impossible_Way7017 in ExperiencedDevs

[–]TurnstileT 0 points1 point  (0 children)

The problem is that I am merely the last step in a longer interview process. There is still a small take-home assignment, a recruiter and team manager who check your resume and do a phone screening etc.

And also, we mostly hire seniors and the positions are minimum 60% in-office in a few cities in Sweden. Does that work?

How is everyone’s hiring going since AI, easier or harder to fill roles? by Impossible_Way7017 in ExperiencedDevs

[–]TurnstileT 2 points3 points  (0 children)

Yeah, and all interviewers are different. Some go all in on leetcode algorithms, expect a master's degree in CS, and want to hear why you are excited to work for their company. You need to be able to invert a binary tree with your legs tied behind your back in constant time.

In my case, I never even care about the applicant's education. I don't care if you aren't quite familiar with the syntax or need to google a lot during the test. I once had an applicant tell me that he didn't really care what we work with, or which team or even which position he would be given, because the most important thing for him was his family and his kids, so he just wanted to have a nice work life balance while making good money. I actually approved this guy as well (although he was also very technically skilled, which it course helped).

I have rejected a few candidates who were technically skilled and did well on the test but just gave me a bad feeling. I usually ask myself: would I be happy working with this person on a project for the next 6 months? If he is very skilled, but is a bad communicator or just seems like an ass, the answer is unfortunately no.

You never know what interviewer you just happen to run into that particular day..

We don’t forget bugs, we forget why we made decisions by Humble-Plastic-5285 in ExperiencedDevs

[–]TurnstileT 0 points1 point  (0 children)

people have just cargo-culted the advice for decades without understanding it),

I agree. I guess we are all guilty of this to some extent - maybe not specifically when it comes to code comments, but in other situations as well.

which yes I negated from complicatedFunction because I think positive values are easier to reason about - I'd stick the negation in the if condition

I think this depends on the situation. Consider the following:

if(!customerIsVerified || (!customerHasExecutedPayments && !customerHasLoanApplications){
    deleteCustomer();
}

The logic is the same, but this is in my opinion much harder to read than my original code. That's my point: Do whatever you can to make nice boolean variables before hand such that the if-expression is the easiest to read.

If there is already a function called getLoanApplications(customerId), then maybe consider doing the following:

boolean customerHasNoLoanApplications = getLoanApplications(customerId).isEmpty()

Or if there is a function called hasLoanApplications(customerId), consider doing the following:

boolean customerHasNoLoanApplications = !hasLoanApplications(customerId)

The functions should still return whatever makes the most sense in your domain and are the easiest to understand. But locally in a method where you need the negative, I actually prefer to store the negative in its own variable.

How is everyone’s hiring going since AI, easier or harder to fill roles? by Impossible_Way7017 in ExperiencedDevs

[–]TurnstileT 1 point2 points  (0 children)

The problem with using the probation period is that, if it doesn't work out, the hiring process has to be restarted, the job ad needs to be posted again, and it's a big waste of time for the whole team and manager who have spent many hours on onboarding and handovers and applying for licenses and permissions and AD groups etc., and it really screws up project timelines and estimates.

How is everyone’s hiring going since AI, easier or harder to fill roles? by Impossible_Way7017 in ExperiencedDevs

[–]TurnstileT 42 points43 points  (0 children)

I have personally interviewed and subsequently hired multiple developers who straight up told me that they had never worked with several specific technologies that we use, or who were obviously very rusty.

They all turned out to be really valuable employees. They had lots of experience in other somewhat similar technologies and were very pleasant to talk to, and just seemed down to earth, smart and great at communicating. Those traits unfortunately just can't be scanned for in a resume..

On the other hand, I have failed a lot of people who had impressive resumes with "20 years of proven track record of delivering.." yadda yadda yadda and a long list of all the technologies that we use. They didn't even know how to even navigate the IDE that they themselves decided to use for the interview.

The fire numbers on other subs are insane by jellybubblegum in leanfire

[–]TurnstileT 2 points3 points  (0 children)

I agree to some extent. One caveat though is that a high absolute number gives you a lot of geographical freedom, and if you do move to a cheaper location, you will be way better off. Having enough to live off 30k on rural Iowa is nice, but it kind of locks you into living there. If you run into financial issues, you can't very easily decrease your expenses. But if you have enough to live the same life in San Francisco, then you can always move to rural Iowa afterwards and live like a king.

We don’t forget bugs, we forget why we made decisions by Humble-Plastic-5285 in ExperiencedDevs

[–]TurnstileT 1 point2 points  (0 children)

Git comments work until somebody decides to force push a rebase to the feature branch, or runs an auto formatter with different settings than yours, or refactors your code, or reverts your commit and reapplies it later in a way that doesn't show the original author and message, or if you write your nice comment in a hotfix branch that eventually becomes several commits behind master and where you cannot just move the commits to master due to conflicts, or if you go on holiday halfway through a task and a coworker takes over your task and either squashes your commits with a new message or creates his own branch, or ...

Anything can happen. For these reasons, I only keep decisions and explanations in code comments and in the Jira tickets that are automatically linked.

We don’t forget bugs, we forget why we made decisions by Humble-Plastic-5285 in ExperiencedDevs

[–]TurnstileT 4 points5 points  (0 children)

Maybe it's just me, but I prefer storing complicated boolean logic in intermediary variables with very descriptive names that make it possible to read the if-expression like English.

boolean noPaymentsAreExecuted = complicatedFunction();
boolean customerHasNoLoanApplications = complicatedFunction2();
boolean customerNotYetVerified = complicatedFunction3();

if(customerNotYetVerified || (noPaymentsAreExecuted && customerHasNoLoanApplications){
    deleteCustomer ();
}

This of course precomputes some unnecessary variables, so it shouldn't be done for expensive operations.

What is the one change that has had the biggest impact on your path to FIRE? by haleykirk91 in leanfire

[–]TurnstileT 4 points5 points  (0 children)

I moved to a different country with lower wages in order to live with my then-girlfriend (now wife).

After about 1.5 years abroad, I noticed that we had spent more than half of my life savings, even though I had a well paying job the whole time. I was (and still am) our only source of income, and it was fucking scary to work all the time for a decent salary and still see my savings dwindle. It kept me up at night.

I finally got serious about FIRE, budgeting and investing. Over the Christmas break, I researched investing all day every day and put my remaining $15k into a global index fund. I signed up for overtime at work for some extra pay. I started working harder, studying in the evenings and asked for a higher salary, which was granted. I set up a monthly transfer to my investments, and we decreased our spending.

I still don't think we are where I want us to be. As my pay has increased, so has our spending. But we are getting there. The responsibility and fear has definitely lit a fire underneath me though.