Thoughts on how to read papers

In this day and age, information (and misinformation) is becoming overly abundant. Research in neuroscience and machine learning is rapidly accelerating, and sometimes it seems impossible to keep up with all the latest advances. Reading papers is a bit of an art, so I wanted to share some guidelines for how I’ve learned to do this consistently and effectively.

[Read More]

Thoughts on maintaining collaborations

Maintaining collaborations, like friendships, is hard work. I’ve been fortunate to collaborate with some amazing researchers over the years. One of the most obvious collaborators is your PhD advisor. If you’re a fresh graduate, more than likely you’ll have some unfinished manuscripts (but hopefully not too many unfinished projects!) Submitting these manuscripts and getting them through peer review takes time, which you’ll often have to carve out in creative ways. Fortunately, many places (like the Allen Institute) allow you to work on outside projects a few hours per week, which is an awesome benefit to have.

Many collaborations often come by chance, e.g. through informal lunches or through presenting at conferences. When I was still a graduate student at Johns Hopkins, we had a seminar series where invited speakers would not only come and give research talks, but also have lunch with graduate students. During one of these lunches, a professor and I started talking about one of the projects I was working on and found that we had some common research interests. This led to a shared project which we have collaborated on for the past two years. While I am by no means an expert, I wanted to share some thoughts on maintaining collaborations:

  • Take the initiative. Many collaborations fail because no one takes the initiative. As you’ll often have more time than professors who are juggling teaching and other administrative duties, try to take the lead in scheduling meetings and keeping others updated on research progress. Also be on the lookout for suitable venues where you can present or publish your research, being mindful of upcoming deadlines.

  • Meet regularly. “Out of sight, out of mind” as the old adage goes. You’ll often have other projects you’re working on, and if you’re not thinking about your collaborations regularly, it’s easy for them to fade into the background. Set up a regular cadence of meetings, and while meeting across time zones can be difficult, try to find a time that works for everyone. Respect your collaborators’ time as well, and don’t feel obliged to use up the full allotted meeting time if it’s not needed.

  • Split up tasks. Try to split up tasks as evenly as possible among team members, taking into account each person’s current workload. Set realistic timelines for when tasks might get done, prioritizing tasks that are needed for research to move forward. I have also found the task of reviewing papers to be helpful, both to get a sense of the current state of the field, but also to get new ideas for future directions.

  • Be generous with credit. Collaborations are a team effort, and although you may be the one driving the project, your other team members play an integral part. On teams with mixed levels of experience (e.g. post-doc, PhD student, faculty), think about how the project might impact more junior members. If they made a valuable contribution, do not be shy about sharing co-first authorship on papers. This sets up the foundation for trust on future collaborations, where the contributions and strengths of each team member are equally valued.

  • Catch up in-person. While the internet today allows for unprecendented levels of connection through Skype, Hangouts, or Zoom, it’s also refreshing to be able to meet your collaborators in-person. Conferences are some of the best times to do so, so be sure to make an extra effort to meet up in-person and grab a beer if you guys are all planning on going.

Happy collaborating!

The Three Waves of A.I.

Three Waves of AI

In this video, John Launchbury of DARPA talks about the three waves of A.I., or artificial intelligence. I found the video helpful in putting the field of A.I. in historical context, while also providing a roadmap for the future of A.I.

[Read More]

MATLAB vs. Python


I’ve been using MATLAB for most of my research career. MATLAB provides an easy-to-use programming environment where you can rapidly prototype new ideas. Everything is self-contained, so you don’t have to worry about installing extra packages or their dependencies. The documentation is well done, most of your questions can readily be answered by the broader MATLAB community, and there is also tons of user-contributed code on MATLAB’s File Exchange. Sounds great, right?

[Read More]