Tools
The internet, for all it’s uses, is full of many conflicting opinions and this is especially true when it comes to what tools people use to write their code and do their science. We feel that the best tool kit is the one that you feel comfortable with, but we figured it worth tossing our hat in the ring and opining on some of the tools we personally find most useful. Feel free to disagree. We’ve got no problem with you thinking we’re idiots. On the other hand, our hope is that this will be useful as you get started and maybe you’ll learn about your new favorite tool. Who knows?
Programming Tools
These are tools we find particularly helpful when in the process of actively writing code.
PyCharm
The group primarily works in python these days (with some Fortran and a smattering of C++ in there).
JetBrains has made a truly great python IDE called PyCharm.
There’s a free community version and also a paid professional version. As someone with a @uw.edu
email, you can use the pro version for free.
Git + GitHub
Git is one of the backbones of the modern software world. It’s a piece of version control software (VCS), which basically means it’ll track your changes for you and make sure that if two people are working on the same chunk of code, they don’t accidentally overwrite each other’s work.
GitHub is one of the big reasons git has gotten as popular as it has.
Basically a code hosting service, they allow you to put your git
version-controlled code on the web so that you can easily share it with others.
This website is actually hosted through GitHub and the underlying content is version controlled with git
(which means you can also go back in time and see what it originally looked like, if you want to).
Both of these will give you peace of mind that if something breaks, you can figure out where it broke.
All of the lab computers all have git
installed and is accessible through the command line.
Science Tools
These are tools we use to help with our science and check the results we’re getting and inputs we’re feeding in.
JMol and Avogadro
A common thing we need to do when debugging is visualize our molecules. You can write code to do this or you can use an existing tool.
JMol and Avogadro are the most common applications we use in the group to do this. JMol is accessible on the lab computers through the command jmol
in the linux terminal.
Previous: What Now?
Got questions? Ask them on the McCoy Group Stack Overflow