CodeCraft & Beyond

We all have experienced that demands on researchers, and students, extend far beyond the core pursuit of advancing knowledge and doing research. Scientists are nowadays tasked with administrative duties, teaching, mentoring, and maintaining a strong online presence, all while staying up to date on emerging technologies, software, and methodologies of their fields.

At CodeCraft and Beyond, we support senior scientists in their research endeavors by providing collaborative partnerships, and personalized support in areas like code development, data analysis, and software utilization. On the other hand, we support students by teaching them how to use tools, methodologies, scientific software, and ways of doing in general, including presenting their results and managing information.

Our objective is to advance scientific knowledge, and support research, all by means of software development and implementation of easy-to-use tools for every-day analysis.

Our mission is to empower scientific research, and ease any obstacle in the way to share results and codes with the community.

Our vission is aligned with a an Open Science, and we stand that, to truly Ouvrir la Science, it’s not enough to make the results findable, accessible, and interoperable, but reusable too.

Therefore, researchers must prioritize the creation, documentation, and sharing of well-built software and data, so anyone else can use it without hindrance (when possible).

What is CodeCraft & Beyond ?

CodeCraft & Beyond is a project devoted to help in the development of science through support, assistance, and training to both young and established researchers.

So you can do the scientific innovations, we propose the tools, and even take care of what goes on behind the scenes.

What do we
offerproposedo
?
Training on methods and toolsLeverage tools like LaTeX, Git and Python to effectively ease the day-to-day work, and collaborate with others. We plan to have formations on these subjects.
Polish and publish your codesDo you have a home-made code in the storage room? We help you to give it the final paint coat, document it, and open it to the world. Valorize and share your work, so others can use it too.
Web DesignLooking to have a polished, responsive, modern, and easy to use website. We can help you there too.

Polish and maintain scientific code

Everybody knows a colleague who has this surprising code which does an analysis we need. He developed it for personal use, but over the years it has become increasingly capable, and interesting. However, the code is not documented, it’s not user-friendly, and requires a very specific environment to run on.

Three possibilities open at this point:

  • The owner of the code teaches you how to use it, sitting side-by-side.
  • The owner of the code documents it, makes it usable to others, and designs a webpage to publish it.
  • Everybody moves forward, and the code slowly dies.

The first possibility limits the use of the code to the closest environment of the developer. The second is very unlikely, as it requires loads of time. And nobody wants to see the third happen to such amazing works.

Therefore, we propose to closely work with the researchers, and provide finishing touches to their jobs, so these codes can be widespread. How do we do that? For example:

  1. We set up a public or private Git repository where all the modifications to the code will take place. This way, if the developer wants to add something in the meantime, he is free to do so. Also, we all can keep track of the progress made.
  2. We write the needed subroutines, so the code can read user-friendly input files, checking for data validity, and initialization. This will make possible other researchers can use it by themselves without headaches, with a nicely formatted input file.
  3. We write a concise documentation on how to use the code, based on the information acquired during the development of the input file subroutines. This way, everybody can see how to actually use the code.
  4. We set up a webpage with a presentation of the code, how to obtain it, the documentation, etc.

FAQs


How is this different from a Postdoc?

Finally, and more important, we (usually) only get paid after deliverying the results.

Do I have to make public my code?
How can you write documentation, if you don’t know the code?

Training on methods and tools

Rough estimates from 2009 reported that the average US resident consumed 34 GB and 100 000 words of information per day. This number has clearly augmented during the years following that report.

Undoubtedly, the increased flow of information and responsibilities perceived by new doctoral students, and in general by all those who start a position advancing knowledge, is a real challenge. In addition to study and/or research, we also have to do administrative paperwork, lab work, write publications, prepare presentations for conferences, prepare meetings with supervisors, etc. All while trying to maintain personal relationships and an extracurricular life. Those who succeed do so because they have managed to develop over time a personal methodology for capturing, organizing and processing information. Sometimes, however, this personal methodology is to work from 8h to 00h.

To manage the flux of information, new methods and technologies have emerged. Notably, Artificial Intelligence and Personal Knowledge Management seem to have found a sweet spot of public acceptance, but not without their drawbacks.

At CodeCraft & Beyond we believe that solid foundations make people advance much more peacefully and longer. Therefore, those starting a profession with strong knowledge of the methods and technologies available to complement their expertise, and successfully overcome the barriers they may find on their endeavors, will certainly have a more fluent, pleasant, and productive career.

Personal Knowledge Management

If you identify with situations like the following, then you may benefit from Personal Knowledge Management.

  • Soemtimes we are reading an article and found an interesting reference. In most cases, we open it in another browser tab and plan to come back to it later. But we never do, and eventually lost it.
  • It’s happened to us all that we stored an interersting piece of information somewhere where it seemed logical to look for it in the future. But we never find it when we need it most.
  • Much of the time we do work in the past, and don’t re-use it as starting points for new projects, and tha’t not logical.
  • We sometimes catch ourselves thinking about tasks we have to do while in the shower, trying to sleep or just walking around. And the very same tasks come over and over again until we complete them.
  • Oftentimes we have so many things to do, we don’t even know where to start.
  • Sometimes we find ourselves reacting to the environment, and not acting towards our objectives.

Learning how to effectively manage information and knowledge is a mid-term investment. We usually need to spend some time figuring out what works best for us, but it will help to organize, prioritize, and do everything we already did in a shorter window of time.

At CodeCraft & Beyond, we propose and explain methodologies and tools to develop a personal knowledge management system, with the right approach.

Python for data analysis

But how does this interest me? You may ask. Well, if you find yourself struggling with crashes on huge Excel spreadsheets, or with repetitive analysis you need to manually do over and over again, then a small code in Python could solve those issues.

Studying a programming language for these purposes is a long-term investment. You will need to dedicate time to understand Python’s syntax, and to compose the script, but once it’s done, you can use it forever.

Linux, Bash, Git, etc
  • Linux as a free (as in money, and as in freedom) operating system you could hugely benefit from. It has regular office tools, but also advanced ones like the Bash command processor, which grant you with high effectiveness.
  • Git is a free distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It’s the technology GitHub is based on, but note that GitHub is not Git, GitHub is a service which uses Git. Once you start using it, you can forget about those folders named “article_v2”, “article_v3”, “article_final”, “article_final_v2”, etc. It’s the perfect tool for version control and collaboration.
LaTeX

LaTeX can be used for the confection of reports, presentations, postsers, etc., but when it really excel is in long form documents like thesis and books. It basically manages the formatting and placement of the content for you, so forget about a Word document crashing, hand-made bibliographies, missing figures and tables, and broken hyperlinks.

It perfectly works with Git locally, but if you are more of a web-based person, then services like Overleaf will be the icing on the cake. They have extensive documentation on how to use LaTeX, and even a 30 minutes complete beginner course. Check them out and see what you could do with this porcelain.

Where is CodeCraft & Beyond at?

We are a young project, but already supported by a lot of researchers and students who share our vission.

If you would like to keep up to date with the lastest news, achievements, and plans, consider subscribing to the newsletter down below (no spam, unsubscribe at any time in one click).



If you don’t see the subscription form, directly checkout the Newsletter.