Skip to main content

Prospect of Life On Saturn's Moons Rises After Discovery of Organic Substances

3 months 1 week ago
Scientists have discovered complex organic molecules within the icy plume erupting from Saturn's moon Enceladus, strengthening the case that its hidden saltwater ocean may harbor the conditions for life. The Guardian reports: The sixth largest of Saturn's moons, Enceladus has become one of the leading contenders in the search for bodies that could harbor extraterrestrial life, with the Cassini mission -- which ended in 2017 -- revealing the moon has a plume of water ice grains and vapors erupting from beneath the surface at its south pole. The phenomenon has since been captured by the James Webb space telescope, with the plume reaching nearly 6,000 miles into space. The source of this material is thought to be a saltwater ocean that lies beneath the moon's icy crust. Now researchers studying data from the Cassini mission say they have discovered organic substances within the plume, with some types of molecule detected there for the first time. Dr Nozair Khawaja, a planetary scientist at Freie University Berlin and lead author of the work, said the results increased the known complexity of the chemistry that is happening below the surface of Enceladus. "When there is complexity happening, that means that the habitable potential of Enceladus is increasing right now," he said. Writing in the journal Nature Astronomy, Khawaja and colleagues reported how their previous work had revealed the presence of organic substances and salts within ice grains found in a ring of Saturn, known as the "E-ring," that is composed of material ejected from Enceladus. [...] While the new findings do not show that there is life on Enceladus, Khawaja said they indicate there are complex chemical pathways at play that could lead to the formation of substances that could be biologically relevant. The results, he added, support plans by the European Space Agency (ESA) to investigate the moon for signs of life. "I think all the signals are green here for Enceladus," Khawaja said. The findings add momentum to ESA's proposed mission to directly search for biological signs around 2042. According to the ESA, the mission will consist of an orbiter around Enceladus that will also fly through the plumes, as well as a lander that will touch down in the south pole region of the moon.

Read more of this story at Slashdot.

BeauHD

Tales from the Interview: Tic Tac Whoa

3 months 1 week ago

Usually, when we have a "Tales from the Interview" we're focused on bad interviewing practices. Today, we're mixing up a "Tales" with a CodeSOD.

Today's Anonymous submitter does tech screens at their company. Like most companies do, they give the candidate a simple toy problem, and ask them to solve it. The goal here is not to get the greatest code, but as our submitter puts it, "weed out the jokers".

Now our submitter didn't tell us what the problem was, but I don't have to know what the problem was to understand that this is wrong:

int temp1=i, temp2=j; while(temp1<n&&temp2<n&&board[temp1][temp2]==board[i][j]){ if(temp1+1>=n||temp1+2>=n) break; if(board[temp1][temp2]==board[temp1][temp2+1]==board[temp1][temp2+2]) points++; ele break; temp2++; }

As what is, in essence, a whiteboard coding exercise, I'm not going to mark off for the typo on ele (instead of else). But there's still plenty "what were you thinking" here.

From what I can get just from reading the code, I think they're trying to play tic-tac-toe. I'm guessing, but that they check three values in a column makes me think it's tic-tac-toe. Maybe some abstracted version, where the board is larger than 3x3 but you can score based on any run of length 3?

So we start by setting temp1 and temp2 equal to i and j. Then our while loop checks: are temp1 and temp2 still on the board, and does the square pointed at by them equal the square pointed at by i and j.

At the start of our loop, we have a second check, which is testing for a read-ahead; ensuring that our next check doesn't fall off the boundaries of the array. Notably, the temp1 part of the check isn't really used- they never finished handling the diagonals, and instead are only checking the vertical column on the next. Similarly, temp2 is the only thing incremented in the loop, never temp1.

All in all, it's a mess, and no, the candidate did not receive an offer. What we're left with is some perplexing and odd code.

I know this is verging into soapbox territory, but I want to have a talk about how to make tech screens better for everyone. These are things to keep in mind if you are administering one, or suffering through one.

The purpose of a tech screen is to inspire conversation. As a candidate, you need to talk through your thought process. Yes, this is a difficult skill that isn't directly related to your day-to-day work, but it's still a useful skill to have. For the screener, get them talking. Ask questions, pause them, try and take their temperature. You're in this together, talk about it.

The screen should also be an opportunity to make mistakes and go down the wrong path. As the candidate's understanding of the problem develops, they'll likely need to go backwards and retrace some steps. That's good! As a candidate, you want to do that. Be gracious and comfortable with your mistakes, and write code that's easy to fix because you'll need to. As a screener, you should similarly be gracious about their mistakes. This is not a place for gotchas or traps.

Finally, don't treat the screen as an "opportunity to weed out jokers". It's so tempting, and yes, we've all had screens with obviously unqualified candidates. It sucks for everybody. But if you're in the position to do a screen, I want to tell you one mindset hack that will make you a better interviewer: you are not trying to filter out candidates, you are gathering evidence to make the best case for this candidate.

Your goal, in administering a technical screen, is to gather enough evidence that you can advocate for this candidate. Your company clearly needs the staffing, and they've gotten this far in the interview process, so let's assume it's not a waste of everyone's time.

Many candidates will not be able to provide that evidence. I'm not suggesting you override your judgment and try and say "this (obviously terrible) candidate is great, because (reasons I stretch to make up)." But you want to give them every opportunity to convince you they're a good fit for the position, you want to dig for evidence that they'll work out. Target your questions towards that, target your screening exercises towards that.

Try your best to walk out of the screen with the ability to say, "They're a good fit because…" And if you fail to walk out with that, well- it's not really a statement about the candidate. It just doesn't work out. Nothing personal.

But if the code they do write during the screen is uniquely terrible, feel free to send it to us anyway. We love bad code.

[Advertisement] Plan Your .NET 9 Migration with Confidence
Your journey to .NET 9 is more than just one decision.Avoid migration migraines with the advice in this free guide. Download Free Guide Now!
Remy Porter