Nantucket DevelopR 2019

This past week, we (Drs. Liam Revell, Klaus Schliep, Josef Uyeda, Claudia Solis-Lemus, and myself) hosted the Nantucket DevelopR Phylogenetics workshop again.

This is a really interesting course because it’s aimed at intermediate learners. Intermediate is slippery to define. I often think of it as the point where questions stop having clear answers – i.e., when you google for an answer, you don’t just get back “How to initialize a list.” You have to start thinking about optimization, or making code clean to read for other contributors.

Basically, an intermediate learner is someone who might not have a clear path forward. And at many universities, they might not have someone more advanced to go to for help. For intermediates, we don’t just need skills/information transfer, we need network-building.

So our goal with this workshop was a few things:

  • Get everyone a base of some basic intermediate skills: functional programming, efficient use of Git and GitHub, packaging R code, and phylogenetics in R. Materials here
  • Get motivated folks who might be on different ends of the “intermediate” spectrum together to work together productively on R phylogenetics packages
  • Create a diverse network of people who now all know each other and are connected by work on packages. Build a community of R-phylo developers

What worked

Bear in mind, these are personal reflections; we’ve not yet done our surveys.

  • Diverse leadership. Diverse teams are known to produce better results. And it’s known that diverse faculty can assist in establishing and maintaining diverse communities. I think that is reflected in the make-up of our course, which is more gender-balanced than the previous offering. We also took other steps, like a more verbose course advert, since literature suggests minoritized students don’t apply for things unless they meet more of the criteria than white male students. Making it easier to see how you fit means you see how you fit.
  • More coordination on the front end. Last time we offered this, Klaus and I were really unsure what the students would already know and need to know. This time, we had a little more blueprint, so we decided a few topics we would cover in advance.
  • Larger leadership team. Last time we did this, it was Klaus and I doing everything (+ my husband doing the cooking). This time, there were four of us with a more distributed knowledge base. This meant better lectures, and a wider array of things to accomplish.
  • Balance of work & lecture time. We only had four real days on the island. Two were mostly spent lecturing, two mostly working. The students got a lot done on the various projects.

What we could improve

  • More organization on the lead end. We had some last-minute upsets to infrastructure, which meant we did some last minute scrambling. This probably won’t happen next time, but we could do a bit more polling on interests for lecture topics, and organize food purchases somewhat better.
  • Scalability. This workshop was great, and there was far more interest than we could accommodate. Many great applicants we just couldn’t make room for. And for sustaining something, funders often want to see through-put. It would be great to keep the feel of everyone in one lodging, coding in the shared spaces, eating in the shared spaces. But we have little room to grow in the current location.
  • Something else will come up in evals, I’m sure.

In conclusion

What a wonderful week. I hope we can do it again. On a personal note, as much as I adore being PUI faculty, we do have fewer research active faculty. It was really nice to go somewhere and be in the company of other researchers and new PIs for a week. I feel very much refreshed going into the last month of classes.

Our next steps are to put together a post-workshop survey + check-in schedule to keep people motivated to finish projects.

The why, when, and how of computing in biology classrooms

Along with Rachel Schwartz, Catherine Newman, Jaime Oaks, and Sarah Flangan, I am an author on a preprint reviewing common technologies and teaching practices in teaching computation to biologists. In it, we review some of the technologies that educators might choose to use to deliver a course in computational biology. We also review the evidence for various strategies for teaching, including various ways to incorporate live coding and active learning into class.

I’m immensely proud of this paper for a few reasons. Weirdly, the inspiration for this paper came from Twitter. In the linked thread, we really saw that a lot of early career folks are struggling to keep up with the glut of educational technologies on the market. What is RStudio Server? When is that what I want, compared to a JupyterHub? Do I need to pay for hosting to teach computational biology?

This year’s iEvoBio theme was “Enabling the next generation of computational biologists.” So I decided (as the current head of iEvoBio) to put a little money into getting speakers to have this discussion at the meeting. Organically, this discussion became a meeting, and the meeting became a paper.

Something that I think is really cool about this manuscript is that the authors are from different types of institutions (R1s, PUIs) that attract different types of students. And so we decided to pay special mind to the challenges our real students have faced. What happens for students who can’t afford the latest and greatest laptop? Or who might go on deployment over the weekend and be without their personal computer? All of the challenges we discuss in this paper are real. The solutions we cite are solutions we use.

This manuscript is currently a preprint. If you see things that you think should change, you can make a difference! On the right hand side of the screen, you should see a link to post comments. We welcome your feedback! This is an F1000 preprint, and the reviews will be visible to readers as they become available, which is pretty cool.

Writing as training as writing is training

It’s been a little while since I blogged! I wanted to I wanted to highlight a new paper I authored called “A Systematist’s Guide to Estimating Bayesian Phylogenies From Morphological Data.”

This paper was a long time coming. It started as the forward to my dissertation, in fact! In the time since, one issue I’ve persistently come across is needing to onboard young systematists into research. I work at a primarily undergraduate institution, which means my students are, well, undergraduates. And to get them involved in research can be tough! In statistical phylogenetics, there’s no real equivalent of washing test tubes or feeding fish while you read papers and develop an independent project. Getting involved in our work means getting to work, right away. It’s like drinking from a firehose.

Computation is still not heavily incorporated in curricula basically anywhere. I have students take my computational biology course before starting in the lab, so that I don’t need to teach every student, personally, how to use Python or R.

But I do still need to work with students fairly intensively on systematics and mathematical modeling. This manuscript came from a need to have something accessible I could hand to each student, and say “Here, this is what we do in the Wright lab.” It’s a labor of love for the science. But it’s also a labor of love for me. Writing all this down in one place allowed me to reduce my training burden, and providing a solid overview of these methods allows the students to get a solid grounding on methods and be exposed to some of the literature.

I’ve already had multiple lab members tell me that the paper was clarifying for them to read. As I get older, as I train more students, that’s the only thing I really want to hear: that a paper helped them learn to be systematists, and helped them think through problems better. I hope it will for you, too.

Semester Wrap Up

Last semester, I taught computational biology for the first time at Southeastern (schedule, course materials). This is a little bit of a different ‘flavor’ of computational biology than a lot of the courses we see, since I’m not really a genomics person, but an evolutionary biologist, working in a department of mostly population (ecology, evolution, behavior) biologists. The audience was upper division undergrads and MS students, and one faculty member.

This semester, I decided to try something different than I have in the past, which is that I decided to forego installs at the start, and had them run everything in a JupyterHub. My blogpost on setting all that up is here. As I covered in that post, teaching undergraduates is different than graduate students. With graduate students, “I need to install this so I can analyze my data and get my MS/PhD” is a powerful motivator. They’re captive. My course is an elective. If the students feel super shitty and incapable after a day of installs, they can leave. And when they do, this is how they’ll feel:

i-m-feeling-very-poorly_custom-719c1a5e50bf268586daf9408ad8380100313b48-s800-c85
Ye Olde Darwin Chestnut: “But I am very poorly today and very stupid and hate everybody and everything” Image via NPR

Undergrads require a reframing of how we teach computation. The goal might not be that they have a laptop full of software ready to go, but that they learn something about computation, feel confident in those skills, and get to interact with some MS students and research active peers. So I didn’t start with installs. We did them at the end, for students who wanted to keep working in Python on their personal computers or the state HPC. This was very smooth.

I used a combination of Jupyter Notebooks and the Hub’s command line to teach. I’ve documented a lot of my thoughts on this choice here. Fundamentally, to me, the argument for notebooks boils down to this: Our competitor isn’t C++ or MatLab. It’s Excel. The retreat to the familiar. To get people working a little more reproducibly, and taking those first steps in computation, why take away all the nice interface bells and whistles they’re familiar with? Notebooks render well, they enable note taking, and data tables printed in a notebook look familiar.

Over the first month, we went through the Data Carpentry Python ecology materials. This by and large went great. I’m a maintainer on those materials, and using them in class lead to new pull requests from me, and has informed my own thinking on some of the issues and pull requests raised during the Spanish translation  of the lesson.

One feedback that I got was that the first part of the course is very fast. I think next time, we’ll do 6 weeks on the really basic Python stuff. I’ll also split the first assessment into two pieces – one on the basic slicing operations, and one on functions and scripts. I kind of thought 4 weeks would be enough time to cover material that’s supposed to be covered in a 6-hour workshop. Alas.

The rest of the course, we do some querying of data from the web (Open Tree of Life, BLAST), phylogenetic computing with Dendropy, project management, and Git & GitHub. We also talk about Louisiana-specific stuff, like using the state supercomputer.

The final assessment was building Python packages, and doing teach-ins. Everyone did really well in the parameters of the assignment. The idea was that they would implement a couple functions in a package, document them, and then teach their lab (for the MS students) or the class (for the undergraduates) how to use the package. I self-doubted a little too much and let them re-use functions from earlier in class. For some reason, I thought I hadn’t shown them enough to do something totally novel. But it’s pretty clear from conversations after the fact that I could have aimed higher with this. Next time around, I’m going to structure my assessments like so:

1. Indexing, slicing, filtering data (Python in Pandas)
2. Functions and scripts
3. Querying the web, visualization
4. Making a Python package and putting it on GitHub
5. Teach-In

I was really worried about overwhelming them too early with assessment, but paradoxically made those concerns worse by holding off on the first assessment until too late.

Overall, I’m really happy with how the course went, and student evaluations suggest the learners were, too. For a first pass, I’m immensely satisfied. My second round with this course next fall will probably involve coming up with more biological narrative for the package making and GitHub steps.

Get Involved!

If you’re interested in any of this: I’m working on a SciPy proposal right now with Jeet Sukumaran. One of the things we would like to do is develop some Carpentries-style materials focused more towards phylogenetic data science – querying and cleaning data from the web, assembling phylogenetic datasets, processing MCMC output, visualization. We’d love collaborators!

I’m one of the hosts of iEvoBio this year, and the afternoon session will be on teaching computation biology. We’ll get started with lightning talks – 10 minutes on what you’re teaching, to whom, how you’re doing it, and what’s working about content delivery. Then, we’ll have a birds of a feather session where we try to write some of that info down to demystify course content delivery tech for instructors. We’ll put out a call for lightning talks soon. Feel free to get in touch early if you’re really keen!

I’ve also been having some conversations with the state supercomputing complex about making JupyterHubs available to host courses for free on those servers. If you might be interested (and are at an LA institution!), please get in touch.

Teaching Phylogenetics in the Cloud

A few weeks ago, I wrote about using JupyterHubs to make computational biology education more accessible to my students. I know teaching with Jupyter Notebooks has it’s detractors, but I’ve always noticed a difference when teaching with notebooks, as opposed to a text editor + the interpreter. The conversations in the classroom stay more focused on the material, rather than what they missed when the interpreter moved too fast, or when I switched from the script to the terminal. And, in fact, multiple students have told me similar – that they’ve felt lost in other courses, but not mine. I feel like there’s an education paper there that I don’t have the experience to write, but would happily collaborate on.

When we think about teaching computation, or phylogenetics, we often think of PhD students. Their questions look like this:

  • “I have data, can you please please please help me analyze it?”
  • “I have data and my advisor says I need a phylogeny like tomorrow, help???”
  • “I read about this technique, can you help me understand if it’s appropriate for my data?”

And so I’ve mostly switched over to a read-try-create model for teaching. Read an example, try to run the example and understand the output, create your own extension or apply the concept to novel data. I find this works better for early-stage MS students, and my undergraduate students.  Their questions often look like this:

  • “I think I might find phylogeny interesting, can I try?”
  • “I’ve heard that computation is the wave of the future, but can I really do it?”
  • “I’m not sure this will be part of my career as a scientist, can you try it with me?”

Read-try-create in a notebook environment puts content over delivery.

I got to wondering if I could see similar shifts in phylogenetics if I adopted this framework for teaching phylogeny. I typically teach phylogeny with RevBayes. There are a few reasons for this – I’ve implemented things in RevBayes, I like the graphical model framework, the analyses that I want to do are implemented there. The tutorial materials are also wonderful. But RevBayes has a framework in which you specify almost all parts of a phylogenetic model, including some concepts that are quite an abstraction from empirical biology, like specifying MCMC moves. Learners get overwhelmed, fast, and switching back and forth between text editor and interpreter is a lot for many of them.

Simon Frost and Michael Landis created a Rev Jupyter Kernel. I recently contributed a pull request that fixes some core functionality of this, and it’s now ready for use. I’ve been using the RevNotebook in a Littlest JupyterHub instance to onboard undergraduates and MS students into phylogeny research, and I’m really happy with it. Here’s what I did:

  1. First, I set up a JupyterHub on Digital Ocean according to these instructions. There’s more on this in my Plan C post. I started an 8 GB RAM instance.
  2. In the terminal of the JupyterHub, I installed RevBayes according to the Linux instructions. Mostly – the build command to build a Jupyter-ready RB is ./build.sh -jupyter true
  3. I cloned the kernel. And followed the instructions. Note that for a JupyterHub, to make RevNotebook available to all your users, any sudo command will need to be sudo -E
  4. Then, I cloned in the repository where I’ve been stashing notebooks.
  5. Next, I added students
  6. Finally, I created a link for students to click on to automatically sync their copy of the lessons with mine.

So far, so good! For the most part, the students are working through the lessons on their own, and it’s going so much better than last year when I was assigning them lessons, and having them work from the PDF at the Rev  interpreter. Anecdotally, I feel like comprehension, and crucially retention, is higher.

But don’t they need to learn command line???

Yes. Yes, they do. But I think if they really understand both phylogeny and Rev before I turn them loose on our friendly local HPC, it will be better. It’s not that hard to run a script. We’ve practiced running some Rev scripts in the terminal of the JupyterHub. I really don’t doubt that we can take those skills are port them to an HPC.  I’ll probably make my second-year undergraduates give the new members the five-cent tour of the HPC. But understanding what’s in the script … that’s hard.

I wanna see the RevHub!

RevBayes is too memory-intense to compile in a MyBinder, but if you want to play around, I can give you access to my RevHub. Just drop me a line.

Additionally, I am unhappy with my workflow for converting our Latex and Markdown tutorials to Notebooks. If you’d like to help, I’d love a buddy. A couple of us have been floating the idea of a SciPy meeting sprint to develop a set of notebooks for teaching phylogenetics in Python and Rev. Get in touch, if you’re interested? No, that doesn’t look right. Get in touch!!! Diversity in contributorship is our strength.

 

 

Plan C

This semester, I have the pleasure of teaching a semester-long Computational Biology course for the first time at Southeastern. This is really exciting – I’m very excited to help a new generation of students learn to use computation to do their research. We have about 12 students – MS, undergraduates and even a faculty colleague.

It’s always a challenge to teach these sorts of courses. In terms of the material, computation is just different than the normal biology classes. It’s a different skill set, and many students have low awareness of scientific and technical computing.

But that’s not what I’m going to talk about today. Today, I’m going to talk about the technical aspects of a course like this. Computing courses aimed at graduate students typically go something like this:

  1. Show up; say hello; get a cup of coffee.
  2. Sit down and do installs.
  3. Do tutorials.
  4. Do additional installs later in the course, as needed.

This works OK. Graduate students are generally aware that they a) have research data and b) need to analyze it if they’re leaving with a PhD at some point. While it’s nice to make the installs not be horrifically painful, the audience is sort of captive.

Undergraduates aren’t. My class is an upper-division elective; they could do something else. If the installs are too torturous or their computer can’t run the software, they can leave. And that’s a particular issue for the students I serve. Southeastern is in Southeastern Louisiana, a historically low-income region of a low-income state. Most students work 20+ hours a week outside class and end up doing homework on a work computer that isn’t their personal machine. Some might not have reasonable computers. Some might be military or coast guard and might need to keep up with homework on a deployment weekend.

Enter JupyterHub. JupyterHub allows instructors to serve multiple instances of Jupyter notebooks for their classes. The servers can be then hooked up to a custom domain, so students can navigate in their browser to a course website, login, and start an interactive compute session without doing any installs. Need to do homework on a work computer? No problem! Your computer is 6 years old and you might need to finish the class out on a loaner laptop? No problem.

In particular, I used the Littlest JupyterHub, a JupyterHub variant for small classes. TLJH is meant to be used in a single-server set up. This works well for me for a couple of reasons:

  1. What we’re doing is fairly simple – install a few Python packages for working with data. We’re not doing a ton of complicated installs, or working with multiple languages, or compiling a whole lot of finnicky FOSS software. I don’t have a real need for containers, either.
  2. I have a newborn at home, and I’m very tired and I need everything explained like I’m five. TLJH docs are very good at this.
  3. I’d like this course to work, and work smoothly, and work with easily-communicated technology so I can encourage other faculty to adopt the model and infrastructure.

I had originally intended to serve the course off of a the State of Louisiana supercomputer, but a major equipment breakage has been taking up all the staff’s time, so they couldn’t set up a JupyterHub to their security specifications for me. I ordered a small server to run the course … and it didn’t arrive in time to start class. TLJH has well-written instructions for deploying on Digital Ocean, a provider for customizeable cloud servers. The time from making the choice of server to having a working hub was about 5 minutes. I purchased a domain name, and linked the nameserver and server address and had a working web portal in another few minutes.

Once the hub was working, I logged into it, opened a terminal and followed these instructions to start installing packages.

Each week, I make my lectures in Jupyter Notebooks, make a homework notebook, and push them to github. [We’re in week three of the class and still working our way through Data Carpentry‘s python materials. As a maintainer for these materials, I am slightly concerned that we’re in instructional hour 12 and still on these lessons … lot of stuff in there. We do every exercise, though.] Then, I use the nbgitpuller utility to generate a link to my repo. This causes the materials in each student’s hub to sync to my personal repo when clicked. This way, I can serve materials based on my GitHub and use version control in the way I’m used to, without inundating novice students with git lingo right away. I put the link on the schedule for that day. The students arrive, click the link, sync, and we get started.

Overall, this is very easy, and I’m very happy.  I have 12 students + me working through the dc-ecology-py materials on a 2 CPU, 4 GB memory system. That seems sufficient, and  my Digital Ocean server can be resized on the fly in under 2 minutes if I decide it isn’t. So far, the course has cost like $2.50 to run.

I’m the Bioinformatics and Computational Biology Core organizer for the Southeastern campus, under the state’s INBRE funding. I’m hoping to discuss these experiences more at the INBRE retreat in two weeks, and hopefully drive forward adoption of these types of course set-ups. TLJH is clearly a very important tool in the kit for serving the students that we have.

Since RevBayes also now has a Jupyter Kernel, this also seems like a potentially exciting way to serve systematics and macroevolution classes. Stay tuned for more on this.

Edit: Got a good question on twitter:

And the answer is yes! There is a terminal in JupyterHub, so you can still practice the command line, command line based revision management, and running python scripts at the command line. Below are screenshots of how you access it.

 

 

 

I started with the idea of navigating the file system from within Python last week, then did some shell navigation the following class period. I even had props!

data

 

 

Year One: Work Life Balance

I’ve tackled course prep and setting up a research lab. Now, that topic no one is good at, but only one gender gets pushed to talk about.

Just kidding, this is really important and I’m happy to talk about it. I’m going to start by admitting that this month, work-life is really skewed to work. I’m due to have a baby in between 1 (my due date) and 7 (scheduled C-Section) days. So I’m working pretty hard to try and get those last few things done. Or close to done. In the previous few, it has been skewed to life, since I’m tired and need to go to bed quite early. In a not-hugely-pregnant person, this might mean getting up earlier. No such luck.

I feel like, on average, my work-life balance is reasonable. Typically, I get up about an hour earlier than my daughter, and work on correspondence triage, then writing and/or programming. Then, when my daughter gets up, I put her in the stroller and run her to school and take myself on a short run. I haven’t done that in about a month; it’ll resume in the fall. Get dressed, get in to the office. Pick Alice up at 5, my husband and I cook dinner and hang out with the kid. After bed time, I normally put in a couple hours doing fairly mindless tasks. Especially now, I’m very fried, so this time is often spent checking HPC jobs, email triage, posting reminders for classes, making todo lists and schedules, or downloading files to prepare for productive analyses in the morning. I try not to work while Alice is up, and succeed a majority of the time.

I sleep well, I eat well, I get lots of exercise. Here’s how I facilitate that in different parts of my life.

Teaching:

What worked:

  • Hard deadlines. My homeworks become available one week before due; they cover information that has already been covered in class. I have 50% of my office hours in the first half of the week. I make all this very clear to the students. I think it is more than reasonable to expect that a student could look at the homework, review it, get in touch with me early. And I observe this – the vast majority of homeworks are turned in more than 24 hours early. Obviously, there is forethought that needs to happen here to get homework up a week in advance, but my homeworks largely come from my lecture outlines. So to plan the lectures is to plan the homeworks. I had very few students miss homework assignments, and in my undergraduate courses, spent mere moments negotiating late homework or arguing back for points. Key with explanations goes live the minute homework closes, so they can plan to meet me in office hours with questions.
  • Asking proactive questions about meetings. What are you confused about? What are you struggling with? That way, I can tell a student what to bring to the meeting, and what to do to prepare for it. I can also do my prep – a meeting with a student who is struggling with how to study is really different than a meeting with a student who wants to walk through some calculations in-depth. If we both prepare, we’re in and out quicker with fewer follow-ups.
  • Enjoying teaching. I really like teaching, so I don’t find the labor of preparing courses to be awful. Time-intensive, but if you hate teaching, you should go somewhere were this is not expected. On a really fundamental level, if you don’t enjoy the distribution of activities you do in a day, you will feel negatively about your job, and it will impact how you feel about your life, and how you interact with all parts of your life.

What didn’t:

  • First time around: I had three new preps this year, and that’s just hard. It’s hard however you slice it. I feel quite good about where each of those courses stand, in terms of being able to make incremental improvements that are much less time-intensive the second time around. But that first time with any course is a real bugbear.

Service:

What worked:

  • Choosing reviews wisely. I turn down a lot of reviews. I suggest reviewers in my stead, and feel no guilt about it. I also email editors frequently. I have my limitations – maybe the review will be late. Maybe I won’t be available for the re-review. If I’m not sure I should accept, I just ask.
  • Choosing service wisely. I’m on the council for the Society of Systematic Biologists. That’s my home society, and it’s important to me to take part. I’m also a maintainer for the Data Carpentry Python materials. I use that material regularly in my courses, so maintaining it, and having it maintained by others, inures to my benefit.
  • Saying no. I’ve applied for my first university committee. It’s one I feel strongly about, and feel that my research program would be benefitted by participating. Important work needs to be done, but not necessarily by you. I am slowly adding responsibilities. Life is long, and there will be time.

Research and Mentorship:

What worked:

  • Tracking my habits for a couple weeks. Are there certain times of the day when I am fresher for certain tasks? I schedule my day aggressively, and protect my schedule. There is an assertiveness to doing that that is hard to develop when you’re so used to being in “pleaser mode” from the job search. I use a variety of tactics: turning off notifications on messaging apps, closing my door and changing my venue to find appropriate ways to get time alone when I need it.
  • Proactivity about meetings. Much like under teaching. What is the agenda? Is there reading, by either of us, that needs to be done before we meet? I got very assertive in my second semester: if I had asked for something to be read, and it clearly wasn’t, meeting over. We will reschedule, and I will use the remainder of the currently scheduled meeting however I see fit. Likewise, I will not give up time from the task after the meeting if you’re late. This is really important with undergrads, particularly, who don’t necessarily understand that when you’re just “on your computer”, you’re working. Especially as an evolutionary biologist who primarily uses computational tools to get at their questions.

What Didn’t:

  • Proactivity about meetings. I was not proactive enough about agendas for some of my undergraduate meetings. I could have moved some projects forward more if I had a little more prep time. Which brings me to …
  • Being new faculty. Everything just takes a long time. SO much longer than you think – like that Stephen King story, The Jaunt. It’s an eternity in here.

Misc.

What didn’t:

  • The first year is just hard, emotionally. You move somewhere new. That costs money. My spouse has to redo his professional certification because it doesn’t transfer. That costs money, and means he can’t bring in money. You need to make all new friends, when funds are tight (and I can’t drink beer).  You don’t know where things are, you make a lot of choices from a distance without having full pro/con info. I think we have largely made good choices as a family, and we are on track to be where we want to be, but this stuff is hard, and that is inherently part of the process.
  • Just asking. I need to be more proactive about just asking. Purchasing? Someone knows what to do – ask before shopping so you don’t waste time when there’s an approved vendor for something. I’m getting better about it, but there’s that little voice inside that tells you not to be a bother. That voice is a jerk; strangle it.

What did:

  • The first year is just hard, but it would be impossible without my husband. He is the better parent, debatably the better cook (he cooks meat and I don’t – people get hung up on that point), and the absolute only person I could imagine doing this with. I don’t want to get too mushy here, but the good company of a true partner is an inestimable boon in this whole process.
  • Getting regular exercise. The 5 weeks since I stopped running (due more to poorly-managed allergies than pregnancy) have been not amazing. It turns out I feel better and more focused by a long shot when I’m getting a morning run. And by month 7, even in the heat, I was running a sub-7 minute mile. When you need a win, hit the gym! I worked exercise into my day – I run my kid to daycare. Because I can take a different route, it’s actually about as quick as driving her would be.
  • Cooking, at home. It’s hard to summon the energy to cook after a long day. But it’s time with my spouse and kid. Kids love to cook, and we all have to eat, so put ’em to work! I have never really eaten fast food extensively, but I think I would not feel as good, physically or mentally, if I were eating … cheese curds? what even is vegetarian fast food? daily. Walking to daycare, getting my daughter, and going home and making a meal as a family is a good point of disconnection from the day. It’s too hard to get work done with the toddler up, and trying to do it just makes everyone upset, so there needs to be a nice, clean cut at the end of the work day until she’s in bed.
    • Also, that first year, it’s hard to get out for lunch because (say it with me) everything takes so long as new faculty. So you need to pack some leftovers and put some snacks in your office. That’s not just my pregnant belly talking.

Maternity

I’m still hugely pregnant, so I can’t do a what worked/what didn’t on this. Here are some disorganized thoughts:

  • Continuing to exercise was a good move. I didn’t do this well my first pregnancy, and I felt better and had better energy this pregnancy.
  • Listening to my body. There is an inflection point, every night, at 9:15 where my body tells me “No serious work can happen after this.” And at this point, I wrap up what I am doing and do the last mindless tasks I need to prep for the new day. Then it’s tea and reading in bed.
  • Scheduling courses that can be taught seated.
  • I’m not traveling without the baby while nursing this time. Last time around, I had a fairly seriously upsetting experience while traveling that lead to me having to quite nursing 10 months early. It was shocking, and traumatizing, and I still struggle with a lot of negative emotions (anxiety, grief) about it … and I’m not someone who has a lot of negative emotions, so that’s really confusing. This time, I’m taking him with. It turns out that if someone wants you to be faculty at their thing, they can probably help you on the cost of a daytime nanny. It’s worth asking. I don’t think we win this one by contorting our bodies to be small and unobtrusive to a labor system that wasn’t invented for them.
  • Being honest about leave. What will happen? How will I monitor students’ research progress? When will I be reachable? I talk about diversity issues with my students pretty often, and I think it’s important for them to see this aspect of that, too. Undergraduates are trying out the identity of scientist as much as they are trying out science, so they should appreciate that “scientist” is not separate from “wife” or “mother” or “runner” or “avid reader” or “kitchen hermit”. You get to be any, or all, or completely different things, as well as “scientist.”

I’ll probably revisit this post in late summer when the baby is here and I’ve actually been working as a mom of a toddler and an infant.

Edit: One thing I forgot. Lower your standards for your house when you have kids. My standard is this: Imagine my husband and I get in a car wreck. Someone has to come take care of the kids at the house for a bit. They must find: enough food in the fridge and non-perishables that they can take care of them. Enough clean laundry that they don’t immediately have to start washing up. The kitchen and bathrooms clean and organized enough that they can find things to cook a meal, do bath time, etc, safely and efficiently. As long as those standards are met, fine. Anything else is lagniappe, and we treat it as bonus rounds.