• 0 Posts
  • 7 Comments
Joined 2 years ago
cake
Cake day: June 18th, 2023

help-circle
  • I want to fill in on the fact that any journal can end up publishing garbage science if someone is able to dupe the reviewers. This means that no matter what journal you’re reading, you need to read science critically. Sensational claims require sensational evidence, and ideally any work should be 100% reproducible based on the information given in the article.

    Depending on the field, you can also often get a good indicator by investigating the authors of the article (checking out the last author first is a good tip). This mostly applies to very recent research where looking at citations is a poor indicator of quality, but where research is often dominated by a few reputable research groups around the world.

    For older research, looking at how often the article has been cited, by whom, and why, can give you a very good indicator of the quality of the research. Solid research is often built upon later, while garbage is often refuted and then abandoned.

    Of course, none of the above is infallible, but if you read critically to ensure the research makes sense, find that it originates from a reputable group, and see that others have based newer research on it, it’s probably trustworthy. After a while you start building up an impression of the most important names and journals in the field, but that requires reading quite a few articles and noticing which names and journals repeatedly show up.


  • I definitely have a hangup on students I teach saying something along the lines of “I don’t know how to get started on this, I asked GPT and…”. To be clear: We’re talking about higher-level university courses here, where GPT is, from my experience, unreliable at best and useless or misleading at worst. It makes me want to yell “What do you think?!?” I’ve been teaching at a University for some years, and there’s a huge shift in the past couple years regarding how willing students are to smack their head repeatedly against a problem until they figure it out. It seems like their first instinct when they don’t know something is to ask an LLM, and if that doesn’t work, to give up.

    I honestly want shake a physical book at them (and sometimes do), and try to help them understand that actually looking up what they need in a reliable resource is an option. (Note: I’m not in the US, you get second hand course books for like 40 USD here that are absolutely great, to the point that I have a bunch myself that I use to look stuff up in my research).

    Of course, the above doesn’t apply to all students, but there’s definitely been a major shift in the past couple years.



  • Exactly as you said yourself: Checking falsieness does not guarantee that the object has a length. There is considerable overlap between the two, and if it turns out that this check is a performance bottleneck (which I have a hard time imagining) it can be appropriate to check for falsieness instead of zero length. But in that case, don’t be surprised if you suddenly get an obscure bug because of some custom object not behaving the way you assumed it would.

    I guess my primary point is that we should be checking for what we actually care about, because that makes intent clear and reduces the chance for obscure bugs.


  • I write a lot of Python. I hate it when people use “X is more pythonic” as some kind of argument for what is a better solution to a problem. I also have a hang up with people acting like python has any form of type safety, instead of just embracing duck typing.This lands us at the following:

    The article states that “you can check a list for emptiness in two ways: if not mylist or if len(mylist) == 0”. Already here, a fundamental mistake has been made: You don’t know (and shouldn’t care) whether mylist is a list. These two checks are not different ways of doing the same thing, but two different checks altogether. The first checks whether the object is “falsey” and the second checks whether the object has a well defined length that is zero. These are two completely different checks, which often (but far from always) overlap. Embrace the duck type- type safe python is a myth.