manifesto

Written and maintained by Rishab Nithyanand

1. Background

History. This document was drafted in the summer of 2019 and borrows from the manifesto of the HCI Lab at the University of Oregon, Zubair Shafiq’s Student Guidelines, The Meren Lab, and Data & Society’s statement of research.

Purpose. This document is a declaration of principles, policies, and intentions of the SPARTA lab. It is primarily intended for students conducting research under my supervision, using the physical lab space, and using the computational resources allocated to the lab. The goal of this document is to help foster good working relationships between lab members and facilitate high quality, useful, and successful research.

Editing. This document is a constant work-in-progress and things will (and should) evolve as new situations emerge.

2. Lab Philosophy: People first

This means I care a lot about your mental, emotional, and physical well being and am ardent about maintaining a good work/life balance. But you still have to get the work done – just not at a cost to the above. If you feel like you’re struggling or life situations are preventing you from working optimally – let me know and I will try my best to help. We’ve all been there and know how hard life can get sometimes and can work together to make it through these situations.

3. What we do

The issues that our research addresses (e.g., online anonymity, privacy, and free speech) are complex, interdisciplinary, require technically sound measurements, and are badly in need of nuanced public policy discussions.

Our goal is to facilitate an improvement in the quality of policy, technology, and public discourse surrounding these topics. We aim to do this by conducting high-quality, reproducible, and sound measurements of the underlying ecosystems and making critical and well thought out arguments for how underlying tussles can be mitigated and society as a whole can be better protected from predatory practices.

4. How we do it

Selecting research topics. Research is the discovery of new knowledge. At the SPARTA Lab we are specifically focused on developing new knowledge around how the Internet works and how it impacts society. In general, I’m excited about these topics and focus my research around them. I’m open to discussing unrelated topics and always willing to point you to the right person if you’re interested in pursuing research on them.

Research planning. Research explores uncharted territories. As such, it is difficult or impossible to predict exactly where a project will go and exactly how long each task will take. The best way to deal with this is to make an initial plan for each project. We will work together to frame the hypotheses that we are testing in each project and make a general plan for how to test each one. Once this is done, we’ll set goals/deadlines for each task as it comes up. I use “todoist” to track progress in research projects and highly recommend it. If you make a todoist for your research projects, share it with me so we’re always on the same page. We will meet at least once a week – possibly more if we’re pushing for a deadline.

Getting it done. In general, I expect research to be your main focus in grad school – i.e., you should put time and effort into your research every day. “Outliers” by Malcolm Gladwell shows that world-class experts put in about 10,000 hours of work on their craft – keep this in mind if your goal is to be a world-class researcher by the time you’re done. Life situations might occasionally get in the way and making progress might be hard in certain periods, but when this is not the case your focus should be on your research. Classes are secondary (more on this later).

Powering through the boring bits. While I will always try to make sure projects are aligned with your goals and interests, I can guarantee that any project will have some boring bits (e.g., parsing poorly formatted data). You will have to power through these to get to the good stuff that made you interested in research in the first place.

Disseminating generated knowledge. As academics our goal is to publish our research in top conferences and workshops. This is the case for our lab as well. However, I also value and work towards disseminating our knowledge to the public. This means I will actively work to promote your research by sending it to interested journalists and will ask you to write blog posts so that lay people might be able to understand your research. This is important if you want to have real world impact and will help you improve the quality of your writing.

Conference travel. You will go to conferences and should make the effort to actively seek out collaborations and networking opportunities. As a rule, if you have a paper (or even a poster) at a conference/workshop and do not receive funding from the organizers, I will pay for you to attend (subject to availability of funding, of course). Prior to leaving for the conference, we need to make sure that you are well prepared to make a strong and lasting impression. This means you should plan to do rehearsal talks or pitches to me and your colleagues – please be proactive about scheduling these.

5. Developing skills

Our research requires technical skills (strong computer networking and security fundamentals for designing and conducting measurements), quantitative skills (for understanding the results of your measurements), qualitative skills (for making policy arguments based on the results of your measurements), and communication skills (for communicating the things you’ve learned via presentations and publications). Some projects might need more of one than the others, but in general we seek to conduct holistic research which involves all.

I don’t expect you to come in as experts in each of these domains, but I certainly expect you to work towards becoming world-class experts in these areas. My job is to help you get there by providing you the resources and guidance needed to keep you on the path to achieving this and your job is to put in the work to keep moving down this path.

5.1 Communication skills: Writing and speaking

While technical, quantitative, and qualitative skills can be acquired through doing research and taking classes, communication skills have little opportunity to develop during grad school. Communication skills are important enough to warrant their own subsection here. As computer scientists, we often overlook the importance of communication through long-form publications and presentations. I cannot stress enough how important these skills are. Papers and proposals are often rejected not because of the ideas they contain, but the way they are communicated. Developing these skills will require a lot of work but will make a big difference in the way you are perceived by the research community. Like all other skills, the best way to develop communication skills is to practice… a lot.

Writing. Good writing helps the reader to effortlessly connect with the core ideas of a document, and provides evidence that an author is a clear thinker with high intellect. You should continually strive to improve your writing. There are many things that you should do to this end, such as:

  • Take note of the style of writing in research that you read. Which writers are effective at communicating hard ideas? What can you incorporate from their papers? Note how some published research papers are much better-written than others.
  • Write. The only difference between a writer and an non-writer is that writers write. The more you write and get critiqued, the better you will get. Once we’re working on a project, get started with writing the paper ASAP. Think about what the thesis of the paper should be and what it needs to have in order to communicate this thesis. We can fill in the details and results as the work gets done. This way you’ll also be less stressed before a deadline.
  • Read. The more you read, the better you write. Make sure to read things from the social sciences as well – social scientists are generally much better communicators than computer scientists. If you need a book or paper recommendation, ask me and I’ll give you a suggestion which is timely, interesting, and beautifully written.

Speaking. As you start to go to conferences, you’ll notice a huge difference in the quality of speakers and talks. In my opinion, the difference is all down to confidence. You need to be confident about your speaking skills and ability to hold the attention of the room while effectively communicating difficult ideas. The same applies for in-person conversations. There are many things that you should do:

  • Attend every department talk. You’re lucky to be in grad school. You get to hear the best researchers in the world tell you the cool things they just did. Make a note of the way they communicated difficult concepts verbally and visually. See if you can incorporate their style in your talks.
  • Participate in reading groups. Reading groups often require one presenter each week. This is a good way for you to learn about research topics while also developing speaking skills and becoming comfortable with presenting challenging ideas to others. You should aim to give at least 1 presentation to our security reading group each semester.
  • Speak in English as much as you can. A big part of developing confidence is comfort with the language. The best way to do this is to use English as a medium for communicating research with everyone.

5.2 Miscellaneous skills

There are other skills (not directly related to research) you should develop while working in the lab.

  • CLI. You should be comfortable using Linux from the command line. This is important since you will be using servers which only have CLIs. The best way to do this is to start using the CLI on your own (Linux or MacOS) systems. No Windows except for making slides (if Google Slides is not good enough).
  • Vim or emacs. It is important that you get used to working with one of these text editors. They’re still the most popular for a reason – they allow you infinite flexibility once you’ve mastered them. I prefer Vim, but emacs is a solid option too.
  • LaTex. As mentioned above, this is critical for being quick and effective during a deadline push. Make it a habit to write everything you do with LaTex – proposals, class projects, letters, etc. My recommendation is to stay far away from overleaf and stick to offline editors. Overleaf makes collaboration and version control much more challenging.
  • Git. Be comfortable using Git. I expect you to have all your code and papers in a git repository made on the SPARTA Lab GitLab. I can tell you that one of the most painful experiences I had in grad school was losing about a months worth of code because of a hard-drive failure and not using version control. Please don’t let this happen to you. Put all your code and writing in the repo at the end of each day.

6. Courses

Coursework and grades don’t matter. Do not worry about your grades (just make sure you stay above the department required GPA of 3.25). Your success will only be judged by your publication record (for research jobs) or your teaching record (for teaching jobs).

I’ve found that you will end up learning everything you need to learn while doing research for 5 years and so I’m not very concerned with the courses you choose to take as long as you’re on track to meet the department requirements. The only advice I will share is that you should try and select courses which align with your research interests and if the course has a project component, speak to the instructor about aligning the project with your research work. Spend your time thinking about research instead of worrying about getting more than a B/B+ – especially if it is about a topic not too interesting to you.

7. Meetings

We will have at least one 1-on-1 meeting and one group meeting each week. Please make an effort to attend the group meeting every week. It’s the best place to learn about what your labmates are working on and share ideas.

If you need to drop in, I’m usually available in my office from 8am to 6pm Tue-Thu (with breaks for teaching and lunch/meetings) and schedule a lot of travel on Mon/Fri. If my door is shut, just ping me on slack. If you want to make sure that I’m in and need a longer chunk of time, send me an invite on Outlook for a time which shows me as available. Dropping by to chat about research or anything else is always welcome.

8. Lab culture and values

Maintaining a fun, productive, and happy workplace is important to me. Here are a list of things that I expect from all students in the lab.

Respect. “Treat others the way you’d like to be treated” – This quote is old and worn out for a reason. I expect everyone in the lab to treat everyone else with respect – regardless of sex, race, gender, sexual orientation, religion, age, etc. I will take complaints of discrimination and harassment extremely seriously and these will be reported to the appropriate authorities. There will be no warnings or exceptions to this rule.

Regular presence in the lab. Regular attendance is critical for the group synergy and for the personal development of everyone. Each member represents a significant fraction of our group. For this reason alone, we aspire to be around regularly to maximize our time together. However, family must come first and life events should take priority. Please remain available and responsive on slack during work hours, even when not in the lab. It is important that we are able to reach you when critical.

Support your labmates. We’re all doing very challenging work and need support to succeed. Be especially kind to the people working around you. You never know what might actually be going on in their lives. If it’s clear that someone is struggling and you have some time or resources, see how you might be able to help.

Make us all proud. You represent the lab and its members when you are at meetings inside and outside of the university. Make your fellow labmates proud with your excellence. It is OK to be critical, but doing it with absolute respect, accuracy, and compassion is key. You may not initially realize it, but science is a small world, our field is even smaller, and your social mistakes will linger much longer than you wish, and affect more people than just yourself. Assume that everything you say about someone else will be heard by them sooner or later. I think the best strategy is to compliment people from their backs, and criticize them to their faces.

Talk, share, and collaborate. Good ideas do not come in isolation. Talk to your labmates about the problems you are working on and don’t be shy about asking for help if you’re stuck. Conversely, try to listen and help when someone asks for help. We all have different skill sets that might help others overcome something they find challenging. Part of being a labmate is learning how to share resources – compute and other. Remember that we all benefit from each others success. You are welcome to take part in collaborations inside or outside of our institution. But if you are interested in collaborating with an outside group on a project, please ask me first. These are not only to protect you, but also to protect the lab and its intellectual mojo.

Maintaining clean spaces. This one is really important to me. Keep your working environments clean. This means regularly taking out the trash (there are bins right outside the lab), not eating in the lab, and generally leaving the space (even your own desks) like they were before you got in. Please do not pull all nighters in the lab – this is a violation of university policy and very unhealthy and unsustainable in the long run.

Communication with me. I’m here to help you succeed. If you have things that are getting in your way or need more of your time, please talk to me. I will be understanding and reasonable. If you are in need of resources to help you with your research, I can help you myself. If you are in need of resources to help you with your mental and physical health, I can point you to the right people. In addition to technical and intellectual difficulties, science life can have steep ups and downs. Even when you are excellent at what you are doing and on the right track, doubts can be quite challenging to overcome. I wish you to let me know if you are going through a rough patch.

Lab outings, vacations, and fun. We’re a research lab, but that doesn’t mean we cannot have fun. About once a semester (sometimes more), I will organize a group outing – perhaps for dinner, hiking, kayaking, etc. Significant others are always welcome. Vacation is very important, and we must pay attention to the beauties of life outside work as often as we can. You have university defaults in your pocket. But you can ask for more. Let me know about your plans ahead of time, so I have a chance to make suggestions and am prepared to protect you from other research demands.

Self care. Research should be your primary focus in grad school, but not your whole life. Make sure to take time off for family, outdoor, physical, or cultural activities. These things can clear your mind and make you more productive in the long-term.

9. Resources

Equipment and compute resources. If your research requires equipment or resources beyond what you have access to, let me know and I’ll find a way to provide them for you. If you need a monitor, desktop in the lab, a work laptop, or a software license – let me know ahead of when it becomes critical. These things take time to navigate through the university bureaucracy and I don’t want them to slow down your progress.

Labspace beautification. I want to give you a lab environment that you’re happy to work in. If you send me reasonable requests for the physical space in the lab (e.g., potted plants, a coffee machine, fans, etc.) I’m happy to make sure you get them.

Printing. For Windows, open file explorer and navigate to \iowaprint01.iowa.uiowa.edu and log-in with your hawk-id and password. Be sure to change the domain to IOWA when entering username (use \IOWA\hawkid). If you can’t find the printer you are looking for on iowaprint01, try iowaprint02 and so on. Different printers are hosted different servers. See more details at: http://www.divms.uiowa.edu/clas_linux/help/printing/printtab.html. Contact request@divms.uiowa.edu if you can’t resolve an issue. If you need to print large documents (e.g., books, long papers), please use the printer in MLH 14.

Department and university policies, resources, etc. Our department staff can help you navigate policies and resource requests that I am unable to. Alli, Matthieu, and Sheryl are some of the kindest people I’ve met and will often go out of their way to help you. Please remember to show them appreciation when they do – they’re severely overworked and always go above and beyond what is required from their jobs.