140 karma · joined November 20, 2015
I don't mean that as any kind of insult to the people who work on this project -- I'm sure writing it in python is way more pleasant than writing in C. I'm just bummed that projects I have in mind that I intend to write in a language other than python can't use this.
The idea that people are using reusable shopping bags because they want to virtue signal and not because of any actual desire to do good is a completely baseless and needlessly pessimistic viewpoint. A much more reasonable and likely explanation is that most people can't fully assess the environmental impact of their decisions, so they make the entirely reasonable assumption that if they can avoid throwing away a dozen plastic bags every week, then that's probably a good thing. That assumption may turn out to be incorrect, but that doesn't mean they have the harmful motivations you are accusing them of.
A few years ago, I got a PhD in pure mathematics (low dimensional geometry and topology). As someone who loves pure math and spent many years devoted to it, I've had many conversations with mathematicians about whether we should be concerned with practical applications. One common argument, which several people have made here, is that there's been a lot of math that found practical application long after it was done. That really only applies to a very small proportion of math. The vast majority of math done has still never found application. So arguing that we should do that math because it may have applications later is kind of like arguing you should play the lottery since there's a greater than 0 chance that you'll win. Also, from the (admittedly biased) group of mathematicians I've spoken to about this, very few seemed to actually do math in the hope that it would be useful later.
Instead, people do math because it's interesting, beautiful, and challenging. I would argue this Mersenne Prime search is almost more like recreation. I could be wrong, since I never did much number theory, but I don't think this is advancing any research. It's just a fun hobby for people who enjoy math. I think doing math for the sake of its beauty is generally fine. I do have concerns about the climate aspect of this particular project though. This is a lot of power being consumed just for recreation. This project may not be big enough to have much of an environmental impact, but in general, I think we should be more mindful of not wasting large amounts of computing power just for fun.
Up until the pandemic, my work schedule had almost never been affected by me being parent in any way. I chose to have kids knowing that my wife and I would be able to continue working without this significantly impacting our jobs (after the first several weeks after they were born, of course), and that has always been true until this. You are acting as though parents fully understood the pandemic would happen and would affect them at the time they decided to become parents.
This argument is like saying that a storm knocked down your neighbor's house, but not yours. So it's unfair that your neighbor get some leniency from work while he tries to repair it while you are expected to keep working. "He chose to build his house on that side of the street, so he has to deal with the consequences."
This isn't about giving extra slack to parents. It's about giving extra slack to people who were hit particularly hard by this situation that they couldn't possibly have seen coming. I was forced to return to the office even though I'd rather be at home. I have a coworker with no kids but who takes care of his mother who is very sick and at high risk for COVID. He gets to keep working from home, which is what I'd like to do. It's never crossed my mind to be annoyed with him for that.
Instead of focusing on the client, what about the server? How happy would Netflix be to reduce their outbound traffic by 20%? I'm guessing it's quite happy.
I heard of a study a few years ago where researchers divided a bunch of teenagers into a few groups (each of which was quite large), and each teen was allowed to go to a website and hear a collection of songs (same songs for everyone). Each person could then vote on which was their favorite and, importantly, they could see how many votes that song had already gotten just within their group. The researchers wanted to see if the same songs were picked as the favorite across different, isolated groups. The result was that each group had chosen completely different songs as their favorite. These groups were large enough that they were probably all statistically similar. Once people in a group saw that some song already had a lot of votes, they were more likely to pick it as their favorite as well. This suggests that in the world of pop music, success may have more to do with luck and social influence than with talent.
Ah, I found a link to a description of the study: https://www.npr.org/2014/02/27/282939233/good-art-is-popular...
I don't know how helpful reading source is for determining whether or not to use a dependency, but I find it very helpful to have at least a small understanding of how my dependencies work:
1. I find it useful for debugging. If a coworker or I have used a library incorrectly, understanding how the library works can help us figure out why it isn't doing what we wanted. Also, my IDE lets me do step-through debugging through dependency code as well, which can be helpful.
2. It helps with determining the capabilities of a library. If I know how a library works, then I can make reasonable guesses about what features the library has (or could easily add). I find myself thinking, "I'd like to do X, and from what I know of how library foo works, that seems like something it should be able to do." So I can go investigate that.
3. It helps with knowing the performance characteristics of the library. Just yesterday, I needed to implement some stats logic in java. I found an Apache Commons class that does exactly what I need, but by looking at the source code, I found that it uses an O(n) algorithm, which is fine for the cases they are probably targeting. In this case, I need more performance than that, and it's not hard to write this as O(log n). So I wrote my own instead. If my IDE (Intellij) didn't give me super easy access to dependency source code, this would have been more painful.
Best case scenario (which I think is more likely), they are simply interpreting this story in context. Uber has several ethics scandals under their belt including ones involving them gathering and analyzing data for unethical purposes (guessing which of their customers have had one night stands).
It's been a while since I've studied this, but I believe it's the case that the only time you get nontrivial knots is when n = m + 2. The most well known case, of course, is when m = 1 and n = 3. But for every value of m >= 1, there are nontrivial knots in dimension m + 2. I believe it is indeed a rich area of research.
The same realization that I don't know linear algebra came when taking a Lie algebras class, and again when learning homological algebra, and probably a few other times as well. There are certainly lots of areas of math that I've never explored that take linear algebra in some other direction (for example, I don't have any idea what the applied math guys do with....).
It's really an amazingly vast subject, especially considering that it's usually just thought of as a tool used to study more advanced topics.
However, her two takeaways from her experience are, "your skills will speak louder than your gender," and, "to become a female developer, you only have to do what any other smart dev would do...[i.e. work hard]." I think the problem is precisely that many women have found these statements to be false. Many women that are smart devs have gone into the tech sector with good skills, but found that they are still judged unfairly by their gender. The fact that this women hasn't experienced that doesn't mean the problem doesn't exist for others.
Also, the claim that if you work hard and have good skills, then your gender won't matter has the (probably unintended) implication that if you do find others discriminating against your based on your gender, then you must not have the skills or the work ethic.
I really don't know to what extent gender discrimination exists in the tech sector, but I think we should be careful to avoid over generalizing from individual experiences and we should be especially careful not to suggest that discrimination only happens to the developers whose skills aren't good enough to overcome other people's stereotypes.
> It was explained to me that the zeroth order Betti numbers have applications for clustering.
That is correct, so perhaps "uninteresting" was too strong :) The 0-th Betti number counts the number of connected components of the space. So if we are at radius, say, 1 and the 0-th Betti number is 3, then we know the data points can be put into 3 "dense" clusters. By dense, I mean that for every two data points A and B in the cluster, there is a sequence of data points that you could step on going from A to B where each step has distance at most 1. I don't know if that explanation made any sense.
You could do a barcode for the holes of any fixed dimension, but as you point out, the 0-th dimension case is relatively uninteresting, and as you get to higher dimensions, it's harder to visualize and interpret what is going on. So dimension 1 is most common.