Reinventing the wheel - how often does it happen in research?

  • Thread starter Thread starter Simfish
  • Start date Start date
  • Tags Tags
    Research Wheel
Click For Summary
SUMMARY

The discussion centers on the prevalence of "reinventing the wheel" in research, particularly in the context of LSST projects involving Python code for projecting the sky onto a 2D grid. Participants agree that while grunt work is common in research, it is not always necessary to duplicate existing efforts. They emphasize the importance of understanding the balance between coding from scratch and utilizing existing resources, especially in fields like Natural Language Processing and numerical simulations. The conversation also touches on how to present one's contributions in academic settings, advocating for transparency about the nature of one's work.

PREREQUISITES
  • Understanding of Python programming for scientific applications.
  • Familiarity with projection transformation matrices in computer graphics.
  • Knowledge of research methodologies and academic presentation standards.
  • Basic concepts of numerical relativity and its applications in research.
NEXT STEPS
  • Research Python libraries for 2D and 3D data visualization, such as Matplotlib and Mayavi.
  • Study projection transformation matrices and their applications in computer graphics.
  • Learn about effective strategies for presenting research contributions in academic settings.
  • Explore the role of grunt work in research and how to optimize time spent on repetitive tasks.
USEFUL FOR

Undergraduate researchers, Python developers, and anyone involved in scientific research who seeks to understand the dynamics of project contributions and the balance between original coding and utilizing existing solutions.

Simfish
Gold Member
Messages
811
Reaction score
2
So basically, for LSST research, a LSST project scientist told me to work on Python code that could project the sky onto a 2D grid, which is what I did. It was awfully hard to find code (especially Python-based code) that could project the sky on a 2D grid - so the task he gave me was necessary given the limited resources that were available. Is reinventing the wheel common in research?
 
Last edited:
Physics news on Phys.org
Ah yes, it's the Simfish inane question of the week.

Reinventing the wheel is an overused cliché. Is it common to do a lot of grunt work when doing research? Yes. Reinventing the wheel? Not really. Projecting a 3D structure onto a 2D surface is something that happens in millions of applications every day.
 
Yes, I have no problem with doing grunt work at all. But if I can do the same thing with less work, then yes, I would like to reduce it (so that more of my time is spent on something that helps). If I can't reduce it, I continue on with the task.

Projecting a 3D structure onto a 2D surface is something that happens in millions of applications every day.

If that's the case, then isn't it more likely that online code would be available for it? (of course, one cannot always expect it)

==

Also, there are times when prof may even put my name as a coauthor for reinventing the wheel (of course I'm grateful to him for that). But then can I tell other people that I'm doing research when what I'm doing isn't really research?
 
Last edited:
Simfish said:
Yes, I have no problem with doing grunt work at all

If that's true, why do you constantly complain about it? Seriously. I think you should take advantage of your research experience and ask yourself 'if this generates so many complaints now, is this something I want to do as a career?'

To answer your question, if it takes me time t to code something up and time 2t to find something that almost does what I want, 3t to understand how it does it, and another 2t to adapt it to my exact needs, what is the best use of my time?
 
Simfish said:
But then can I tell other people that I'm doing research when what I'm doing isn't really research?

Yes it is. Most research is this sort of grunt work.
 
Vanadium 50 said:
To answer your question, if it takes me time t to code something up and time 2t to find something that almost does what I want, 3t to understand how it does it, and another 2t to adapt it to my exact needs, what is the best use of my time?

I really think it depends on the scope of what you're doing. The principle doesn't necessarily work, sticking with code example, if you'll be making Natural language Processing the time used to duplicate previous efforts would not be well spent. If you want to make a C++ 3D numerical Schrödinger eqn solver, maybe it is faster to do it yourself, from scratch.
 
If that's true, why do you constantly complain about it? Seriously. I think you should take advantage of your research experience and ask yourself 'if this generates so many complaints now, is this something I want to do as a career?'

To answer your question, if it takes me time t to code something up and time 2t to find something that almost does what I want, 3t to understand how it does it, and another 2t to adapt it to my exact needs, what is the best use of my time?

Those are good points. I'm still willing to do it if necessary. That still doesn't prevent me from having a preference ranking though.

What I mostly wanted was some context of what I did relative to other undergrads, because when I'm describing my work to other people, I want to anticipate how they will respond to it.
 
Simfish said:
If that's the case, then isn't it more likely that online code would be available for it? (of course, one cannot always expect it)

Look up the projection transformation matrix.
 
Simfish said:
What I mostly wanted was some context of what I did relative to other undergrads, because when I'm describing my work to other people, I want to anticipate how they will respond to it.

I know of at least one undergraduate (who was at the REU I attended last summer) whose major summer project was a projection algorithm for Mars images... Another dealt with reconstructing the surface of asteroids/comets based on a few images of their surface (more projecting). The whole process is probably rather common for undergraduates to do since it doesn't require deep knowledge of what's going on but is useful and necessary since it needs to happen with a lot of data.
 
  • #10
I know of at least one undergraduate (who was at the REU I attended last summer) whose major summer project was a projection algorithm for Mars images... Another dealt with reconstructing the surface of asteroids/comets based on a few images of their surface (more projecting). The whole process is probably rather common for undergraduates to do since it doesn't require deep knowledge of what's going on but is useful and necessary since it needs to happen with a lot of data.

Oh nice - thanks for the answer! Which finally clarifies the point that I originally wanted to make but didn't find the words for in the OP. Namely, if your role in the project is projecting, then how would you present the role of your project in a presentation for a symposium? Like an undergraduate research symposium? Would you simply present your mentor's ideas in the symposium, and pretend that those ideas were your own? It seems that *every* undergrad in the undergrad research symposium at my school seems to pretend that their research is their own - they don't say that their role was to only plot the thing.

As for those undergrads you mentioned, how did they even write their papers? Did they have to use their mentor's ideas for their papers, rather than their own ideas?
 
  • #11
Simfish said:
As for those undergrads you mentioned, how did they even write their papers? Did they have to use their mentor's ideas for their papers, rather than their own ideas?

I don't think either of them published their research for the summer.

It seems to me, though, that when you're giving a presentation or some other such to a general audience (that is, an audience beyond the research group you're working with!), it makes sense to outline the project in the general sense a professor would do. But you should probably at least include a section on what you personally did and how it benefited the project as a whole.

Overall it seems to me like a matter of taste in how you want to do it. I took the route described above when I gave a talk about my summer research, but I could have spent the whole time describing what I personally did, or gloss over this and discuss the main points of the research as a whole. But like you said, it seems to me a bit disingenuous to not explain what your personal contribution was to the project, even if it was minor.
 
  • #12
I don't think either of them published their research for the summer.

Oh, don't you have to give a presentation on your REU project though? Or write a small paper to show what you've learned? Obviously, it wouldn't have to be a peer-reviewed paper.

It seems to me, though, that when you're giving a presentation or some other such to a general audience (that is, an audience beyond the research group you're working with!), it makes sense to outline the project in the general sense a professor would do. But you should probably at least include a section on what you personally did and how it benefited the project as a whole.

Overall it seems to me like a matter of taste in how you want to do it. I took the route described above when I gave a talk about my summer research, but I could have spent the whole time describing what I personally did, or gloss over this and discuss the main points of the research as a whole. But like you said, it seems to me a bit disingenuous to not explain what your personal contribution was to the project, even if it was minor.

Oh okay I see. By what you personally did, did you mean "it makes sense to outline the project in the general sense a professor would do"? Did you discuss your personal contribution?
 
  • #13
Simfish said:
Oh, don't you have to give a presentation on your REU project though? Or write a small paper to show what you've learned? Obviously, it wouldn't have to be a peer-reviewed paper.

We had to give a talk, and that's what I was referring to in the main part of my response.



Oh okay I see. By what you personally did, did you mean "it makes sense to outline the project in the general sense a professor would do"? Did you discuss your personal contribution?

Yeah. Since I couldn't expect more than a few people in the audience to be familiar with numerical relativity, I took the time to explain some of the fundamental things about it. Things like a little bit of the mathematical background and some motivation for it. This is all but necessary to understand what I did for the summer anyways, so I can't really see any way to avoid it. Then I spoke for a few minutes about what I'd personally done, using the context I had established earlier.
 
  • #14
Yeah. Since I couldn't expect more than a few people in the audience to be familiar with numerical relativity, I took the time to explain some of the fundamental things about it. Things like a little bit of the mathematical background and some motivation for it. This is all but necessary to understand what I did for the summer anyways, so I can't really see any way to avoid it. Then I spoke for a few minutes about what I'd personally done, using the context I had established earlier.

Oh okay I see.

Hm though, if all someone did was grunt work/make plots, than how would he describe what he did to the audience? Surely, the audience probably would not enjoy the gory details of all the gruntwork.
 
  • #15
Simfish said:
Hm though, if all someone did was grunt work/make plots, than how would he describe what he did to the audience? Surely, the audience probably would not enjoy the gory details of all the gruntwork.

You are learning about what real research is like.

Seriously, people *are* interested in the gory details. Some of the things that people are interested in are:

1) why did you use this particular package or process data in this particular way. What were some of the alternatives and why did you not use them.

2) how did you like that package?

3) was there anything that you discovered or produced that would make life easier for other people doing similar things. (i.e. we spend five weeks doing this, but then we found out that you could do things this easier way) We wrote these scripts, and we posted them onto the web, or we wrote these scripts, it turns out that they are unreusable because ...

Getting out useful plots is a #@$#@$ pain in the rear end, and if you figured out a way of doing it more quickly (or can explain why it can't be done quickly) then that's research.
 
  • #16
wouldn't you be proud of being the person who invented the wheel? If you can re discover something good you are in very good company and can expect more rewarding results in future.
 
  • #17
Simfish said:
Would you simply present your mentor's ideas in the symposium, and pretend that those ideas were your own?

They weren't. Also it's unlikely that your mentor invented those ideas. He or she got them from someone else, and part of the point of learning to do research is to be able to say, I got this idea who got it from this other person who got it from this other person.

It seems that *every* undergrad in the undergrad research symposium at my school seems to pretend that their research is their own - they don't say that their role was to only plot the thing.

They really should. I got the idea to do X from person Y, but I was the person that actually sat down in front of the computer and did it. There's a big difference between getting the idea to climb Everest and actually planting the flag.

As for those undergrads you mentioned, how did they even write their papers? Did they have to use their mentor's ideas for their papers, rather than their own ideas?

Learning how to cite and give credit is part of the education of the researcher.
 
  • #18
You are learning about what real research is like.

Seriously, people *are* interested in the gory details. Some of the things that people are interested in are:

1) why did you use this particular package or process data in this particular way. What were some of the alternatives and why did you not use them.

2) how did you like that package?

3) was there anything that you discovered or produced that would make life easier for other people doing similar things. (i.e. we spend five weeks doing this, but then we found out that you could do things this easier way) We wrote these scripts, and we posted them onto the web, or we wrote these scripts, it turns out that they are unreusable because ...

Getting out useful plots is a #@$#@$ pain in the rear end, and if you figured out a way of doing it more quickly (or can explain why it can't be done quickly) then that's research.

Oh okay, those are good points. I should talk about those then. There were other approaches I tried that didn't quite work out, and I should discuss those (which also means that I don't have to totally throw out several weeks of work, which is somewhat reassuring)

wouldn't you be proud of being the person who invented the wheel? If you can re discover something good you are in very good company and can expect more rewarding results in future.

Hm, well, it was just taking equations I could find on the Internet and then recoding them to be usable in Python's Matplotlib. So it wasn't like rediscovering how to project things onto a 2D stereographic projection.

They really should. I got the idea to do X from person Y, but I was the person that actually sat down in front of the computer and did it. There's a big difference between getting the idea to climb Everest and actually planting the flag.

Ah okay. Let's see here - what if what I did didn't produce results yet? The LSST isn't going to do anything for several more years, so the only thing I can say is that I coded a way to project stars on the grid in a different interface.
 
  • #19
Simfish said:
Oh okay, those are good points. I should talk about those then. There were other approaches I tried that didn't quite work out, and I should discuss those (which also means that I don't have to totally throw out several weeks of work, which is somewhat reassuring)

If you can figure out what didn't work, that's useful. If you can explain to other people what didn't work, that's even more useful.

Hm, well, it was just taking equations I could find on the Internet and then recoding them to be usable in Python's Matplotlib. So it wasn't like rediscovering how to project things onto a 2D stereographic projection.

And that's what 80% of theorists do.

Ah okay. Let's see here - what if what I did didn't produce results yet? The LSST isn't going to do anything for several more years, so the only thing I can say is that I coded a way to project stars on the grid in a different interface.

Those are results.
 
  • #20
Okay I see. Thanks!
 

Similar threads

Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
8
Views
5K
  • · Replies 15 ·
Replies
15
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K