EstherPlomp / TNW-RDM-101

Self paced materials of the RDM101 course
https://estherplomp.github.io/TNW-RDM-101/
Creative Commons Attribution 4.0 International
6 stars 2 forks source link

Assignment 1 Eugene Huang #75

Closed eugenhu closed 11 months ago

eugenhu commented 1 year ago

Introduction

Hello, my name is Eugene. I am a first year PhD student at QuTech in the Andersen lab. I like programming as a hobby, and that's about it.

Describe your research in 2-3 sentences to someone that is not from your field (please avoid abbreviations)

My research is on designing quantum computers using Fluxonium qubits, a type of superconducting qubit, with the aim of scaling up the qubit count on a chip. I mainly do calculations and simulation work, but I also help with measuring/characterizing devices that our lab fabricates.

My research entails the following aspects:

Research Aspect Answer
Use/collect personal data (health data, interviews, surveys) No
Use/collect experimental data (lab experiments, measurements with instruments) Yes
Collaborate with industry Yes
Write/develop software as the main output of the project Yes
Use code (as in programming) for data analysis Yes
Work with large data (images, simulation models) Yes
Other: N/A

Reflections on the importance of RDM videos

Having backups is important to prevent data loss, and having organised data/code helps others and your future self to reproduce results. I don't have any horror stories, but these are some problems I've encountered because of subpar data management. I use a lot of Jupyter notebooks to interactively perform calculations and one bad habit I have is that the notebooks get very long and they have nonsensical names. In our lab, we use a lot of pre-release 0.x python packages, so compatibility breaks very easily every time we update our environment. This makes re-running experiments from a few months ago hard since we don't track the exact versions of our dependencies

What would you like to learn during this course?

Learn best/common practices for archiving research data in an organised way.

Checklist assignments

EstherPlomp commented 1 year ago

Thanks for sharing assignment 2 @eugenhu! It looks clear - well done! It seems like you already have a solid approach for storing your data 👍

Some minor feedback:

eugenhu commented 1 year ago

Thanks for the feedback.

EstherPlomp commented 1 year ago

Thanks for following up @eugenhu! That sounds like a great strategy 👍

EstherPlomp commented 1 year ago

Thanks for handing in assignment 3 @eugenhu and for also updating your datasets! It looks fantastic so I don't have a lot of feedback, just some minor comments 👍

Data organisation

Documentation

File formats

Data publication

eugenhu commented 1 year ago

Hi Esther, thanks for the feedback.

I've used Sphinx once, a few years ago now, to generate documentation for a software project (published in JOSS!) I worked on as a research assistant during my bachelors. There's a bit of a learning curve, and the knowledge I acquired is probably all gone now. I want to try using Jupyter Book one day, which is based on Sphinx but looks like it has more usable defaults and is perhaps easier to use?

I'm not sure if I'll be publishing standalone software libraries during my PhD which would benefit from an actual documentation book, so I might just put everything in a one page readme file. I'll mainly need to provide documentation for some of the scripts we use to run experiments in the lab for my other labmates, and we already have an established GitLab wiki for miscellaneous stuff like that so I'll probably also write my docs there.

For the ELN, we just use OneNote as a quick way for pasting analysis figures from experimental results without following a strict layout. It's not a great experience but no one wants to invest the time into finding/making a better workflow.

EstherPlomp commented 1 year ago

I think Jupyter Book may integrate this better - not sure if it is then easier to use because I don't have a lot of experience with it (I'm more of an R user /hide).

Very cool that you already published in JOSS!

Not everything needs to become a library/package indeed - its very dependent on the intended use. A GitLab Wiki and README files sound great - sometimes 'easier' solutions work just as good, especially if you need to collaborate with others.

I'm also not sure if there are much better solutions out there than using OneNote (or other similar solutions). Some of the ELN solutions that require separate licenses do provide more sophisticated workflow templates and connections between different experiments and sample tracking - but you indeed do need to set it up and what if you move institutes and you loose access to the software? It again all depends on your long term intended use of it. As long as you have the information and it is backed up, it is good enough :)

Aleartulon commented 1 year ago

Hi Eugene, I only have one question: is there any specific reason why you are using gitlab instead of GitHub?

Aleartulon commented 1 year ago

Regarding assignment 3 I agree on the Sphinx point, I was exposed to it during a code refinery course and it is indeed very well suited for code documentation. It is quite easy to use and has a lot of different themes. Github co-pilot is also very handy as it can write documentation for you while you write the code. I also think that Jupyter notebook can be more useful than a README file for showcasing main uses, although if it is not written well it can be quite messy.

eugenhu commented 1 year ago

Hi Eugene, I only have one question: is there any specific reason why you are using gitlab instead of GitHub?

Hi, sorry @Aleartulon, just read this now. My notifications were full of replies to other threads since I hadn't turn them off haha.

I'm using the TU Delft gitlab since that's what my other lab members use and it makes it easier to collaborate with other TU delft people as well since everyone basically already has an account. I also use github for personal stuff though.

One feature I like about gitlab though is being able to make subgroups, I don't think github can do this yet. It's nice to have your own little subgroup in a larger group of other repos.