If you’ve been wondering what I’ve been up to at the Recurse Center, here’s a list of my weekly updates! I wrote each update immediately after the week ended, so my progress was fresh on my mind. Lightly edited from the version posted on the Recurse Center messaging interface.
tl;dr
- Pair-programmed with 20 people
- Wrote 20 modules and 12 additional test modules
- Contributed to 8 repositories
- Visited 8 churches, 10 parks/memorials, and 5 museums
- Wrote 7 blog posts
- Watched 17 PyCon talks
- Gave 3 “lightning presentations” (5 min)
- Posted 127 tweets
- Finished reading 5 books
- Started reading another 5 books
- Made 3 batches of ice cream
Week 1 (Aug 14-20)
- Built a (super duper) toy recommender system. It doesn’t work yet. But it’s getting there π
- Made my first HTTP request and started to read about data APIs
- Looked into the data API for Charity Navigator, which (I think?) will be a good data set for my project
- Watched some Dave Beazley and Raymond Hettinger Python talks
- Set up a statistics/ML study group with Karen Ellenberger and Jayant Jain
- Talked about testing with Nathan Weeks Shane and Kate Ray
- Paired on a computer vision project with Wesley Aptekar-Cassels
- Ate delicious salad with Kate Murphy and Kate Ray
- Threw off my sleep schedule by staying up way too late reading a book
- Found a church I really like (yay!)
- Planned out a few projects/goals (in no particular order)
- Building the charity recommender system
- Completing the Mode Analytics SQL tutorials
- Learning about Python generators
- Reviewing basic statistics and ML concepts
- Building Verbal Infusions, a TwitterBot that generates herbal tea copy
- Reading/contributing to Python’s scikit-learn and scikit-image libraries
- Pair with at least one person every day
Week 2 (Aug 21-27)
- Watched James Powell’s PyData talk about generators. SO GOOD. It made me think about how to structure code for reproducibility.
- Got my API code up and running, and now I can make HTTP requests to the Charity Navigator database.
- Refactored my API code so that it uses generators to handle pagination in the CN data API.
- Reminded my very rusty brain how classes work in Python.
- Refactored my recommender system code so that it’s better-structured for reproducibility.
- Started studying up on divide-and-conquer algorithms (yay mergesort)
- Started studying intermediate/advanced Python concepts with Brennan Holt Chesley, Dan Luu, and Michael Noronha
- Paired on a Pandas project with Kate Ray
- Talked with Jake Hickey about image processing
- Attended the ACT-W conference in Boston and got way too excited about writing a stock market predictor π π π
Week 3 (Aug 28-Sep 3)
- Watched a bunch of talks
- Andrew Knight’s talk on testing in Python was a super-helpful overview of testing frameworks in Python and how people think about testing
- Dan Crosta’s talk on testing helped me make sense of some of the contradictory advice about testing I’ve encountered
- Colton Myers’s talk on decorators was helpful in starting to learn…what decorators are
- Built some (very tiny) test suites for my recommender system in unittest, doctest, pytest, and hypothesis
- Paired with Wesley Aptekar-Cassels to build the unittest and also learned random facts about Python classes
- Paired with Elias Dorneles and Anja Boskovic to build the hypothesis framework and also learned random facts about vim
- Continued the intermediate/advanced Python study group, learned about Python’s package structure
- Paired on a Pandas problem with Parker Higgins
- Continued stats study with Jayant Jain
- Paired with Jake Hickey on diffusion algorithms in image analysis and learned SO MUCH about vim, C++, and system memory
- Went to the generative testing talk given by Brennan Holt Chesley
- Did a bunch of algorithms study and tried to figure out how quicksort works
Week 4 (Sep 4-10)
- Figured out how quicksort works! And learned about a related randomized selection algorithm.
- Blogged about my testing experience, with many cat pictures.
- Continued the intermediate/advanced Python study group, learned about profilers and a little about parsing/context-free grammars
- Continued stats study with Jayant Jain, paired on building probability distribution simulators
- Paired with Jake Hickey on diffusion algorithms in image analysis, talked about floating-point arithmetic
- Bought an emotional support plant
π
Week 5 (Sep 11-17)
- Read up on a lot about statistics (regression, classification) and floating-point arithmetic.
- Spent a bunch of time looking over the recommender system, and blogged about it (yay cat pictures!)
- Built some more probability distributions with Jayant Jain
- We modeled a bunch of major discrete probability distributions
- We discussed how continuous distributions are built in scipy.stats and came up with real-world continuous distribution examples
- Presented about generators at the Thursday evening activities
- Did practice interviewing with Kenneth Alexander Durril and Abraham Hmiel
- Weekend shenanigans! Commentated Movie Night, walking in Prospect Park with Allie Crevier, made ice cream with Brennan Holt Chesley and then ate it at Sundae, Sundae, Sunday!
Week 6 (Sep 18-24)
- I made a WHOLE BUNCH OF PROGRESS on the herbal tea parody Twitter Bot!
- Built a recursive breadth-first web crawler/scraper to obtain a bunch of herbal tea descriptions. (Parker Higgins helped a bunch.)
- Cleaned the HTML data with Beautiful Soup and Kenneth Alexander Durril, creating a text corpus for the Twitter Bot.
- Refactored my code a bunch so now it’s pretty and readable.
- Tried out a profiler and found out that my web scraper really needs some concurrency because wow network requests take a lot of time.
- Speaking of refactoring, I watched two great PyCon videos about refactoring!
- Brett Slatkin’s video about when to refactor for readability
- Jack Diederich’s video asking people to please stop writing unhelpful classes
- Wrote a blog post about HTTP requests.
- Learned about some basics of linked lists during interview practice with Christian Ternus and Brennan Holt Chesley (among others)
- Had a meeting with Nancy Thomas about my jobs profile and setting up job interviews.
- Visited Coney Island with Kimberly Michelle McCarty and Justyna (JJ) Janczyszyn
- Visited the Cloisters with Natalia Rodriguez and ate some DELICIOUS Venezuelan sandwiches!
Week 7 (Sep 25-Oct 1)
- Finished the herbal tea parody Twitter Bot, at least enough that I’m ready to put it down and prioritize other projects.
- Read through the tweepy source code and wrote the Twitter Bot infrastructure.
- Wrote the code to make the Markov-generated tweets, and then refactored and improved everything.
- Set up a cron job so the Twitter Bot posts new herbal tea description parodies daily.
- Learned that debuggers are the greatest – I wrote a blog post about that and gave a presentation.
- Paired with Jake Hickey to implement Cascading Fast Explicit Diffusion
- And learned a ton about writing for the GPU in the process!
- Also I wrote more or less my first C++ code and I think I’m in love. SO MANY DETAILS. SO PRECISE.
- Spent a day practicing Git basics with https://learngitbranching.js.org/, I highly recommend.
- Visited a friend in Philly and saw lots of historical things. Fun fact: did you know that one dude once held 95% of the US government’s loans to wage the War of 1812? https://en.wikipedia.org/wiki/Stephen_Girard
Week 8 (Oct 2-8)
- Fixed my algorithms code, which was immensely satisfying.
- Paired with Omar Bohsali to read an articles about asyncio, and play around with concurrency ideas a bit.
- Read a bunch about tail call optimization, probability, coroutines, and asyncio.
- Refactored my web scraping/crawling code to make it more generalizable, and then started making it asynchronous.
- Did more thorough study of graphs, including BFS and DFS.
- Wrote most of a blog post about generators.
- Worked with Abraham Hmiel to read through referee comments on an astrophysics paper I’m trying to publish.
- Had a much-needed visit to MA, during which I got to hang out with family and go apple-picking and watch the cranberry harvest (yay) and re-injured my wrist (boo).
Week 9 (Oct 9-15)
- Watched some helpful PyCon videos:
- Dave Beazley on Python concurrency
- Dave Beazley on understanding the Python GIL
- Miguel Grinbert on async Python (SO HELPFUL)
- Yury Selivanov on async/await and asyncio
- Wrote my asynchronous web scraper, and it appears to work! Paired with Kimberly Michelle McCarty, Laura White-Avian, and Anja Boskovic in the process π
- Practiced my vim skillz with Anja Boskovic
- Worked some practice interview questions.
- Practiced BFS and DFS
- Went to the resume-writing/code review workshops with Emil Sit and got some very helpful advice on both.
- Talked to folks at the job fair.
Week 10 (Oct 16-22)
- Refactored and tested the asynchronous web scraper – it works now! Glory be!
- Learned about a bunch of features of pytest (fixtures, mocks/patching, pytest.raises, parametrization, why you want to use CI). Turns out I really like testing, a lot.
- Finished some practice interview questions, which gave me a much better sense of what data science interviews are like and which Pandas commands to have at my fingertips.
- Updated my resume and jobs profile, and talked to lots of people at the RC jobs fair.
- Compiled a list of places I might want to apply for jobs, and did a practice interview (during which I learned what a trie is! π π π )
- Had a really nice weekend showing my mom around New York City and playing games with Brian Glusman et al.
- Agreed to an ill-advised incentive scheme for applying to jobs.
Week 11 (Oct 23-29)
- Started scraping data for the charity recommender project, now I have an ugly mess of HTML to go through. (Yay! π )
- Paired with Julian Squires on fixie tries.
- Finished my blog post about generators and a blog post about how I respond when I don’t want to code.
- Worked more on practice-interviewing and algorithms (BFS/DFS and Dijkstra’s algorithm).
- Paired with Jake Hickey on…mostly just installing stuff for the CFED project. And ate yummy food and talked about block chains (Kimberly Michelle McCarty) and Karatsuba multiplication (Kadeem Nibbs).
- Finished the paper comment review I started with Abraham Hmiel.
- Followed up with folks I met at the job fair, as well as a few connections in San Francisco.
- Cleaned up my resume/LinkedIn/GitHub/Recurse Center jobs profile, so I’m all ready for job applications.
Week 12 (Oct 30-Nov 5)
- Did some significant HTML parsing for the Charity Navigator project with Elly Kuhlman.
- Paired on building tries withΒ Julian Squires andΒ Kadeem Nibbs.
- Started to write a blog post listing everything I’ve accomplished at RC.
- Paired with Jake Hickey on image compression.
- Made and ate ice cream (White Russian flavored! Alcoholic and yummy!)
- Nevergraduated!