Danielle Pham

Computer Science & Biology student,
on a mission to discover her ideal job

PyCon US 2014: Guido van Rossum

Today I caught up on the keynote talk given by Guido van Rossum, the author of the Python programming language. Here are a few things I learned!

  • It’s okay to make mistakes and fix them. Even the best people do it. Live coding is a great way to witness this phenomenon.
  • I should transition from Python 2.7 to Python 3.4.
  • In Python3, print is a function rather than a statement:
    Before:
    print "Hello, PyCon 2014!"
    After:
    print("Hello, PyCon 2014!")
    (I just discovered that it’s really useful as a function, like in a list comprehension, map, or lambda!)
  • Only a few women felt comfortable asking Guido questions before his talk. PyCon was very inclusive, as there has been a lot of effort to increase diversity, but it’s not without its problems. Encouraging women to ask questions is really considerate, but I’m hopeful that minorities will gradually feel less intimidated as the community evolves.

Tomorrow: PyCon US 2014: In Depth PDB

A New Goal!

I’m going to attempt to watch one technical talk every day and report back on neat things I’ve learned. This is mainly inspired by my first PyCon, because I’m now aware of the enormous amount of freely accessible knowledge.

HELLO, NEW YORK!

Accepted to Hacker School for Summer 2014 :D Eeeeeeee!!

Sudoku Solver

During my Hacker School pair programming interview, Tom Ballinger helped me implement some helper methods and a simple solver that uses forward checking and backtracking. I had a blast! :)

Shopify

The Data Team decided that I’m not the best fit for them this summer, but that’s totally okay! What I got out of the interview process was genuine interest for their field of work. They use and develop amazing tools that I’d love to understand.

I ultimately came to the same conclusion. I want to take more time to become a better developer. I want to prove, not only to them but to myself, that I am capable of solving problems and writing good code.

I’ll be better next year. They know this won’t be the last attempt!

Numpy & matplotlib

I made some likelihood and log-likelihood graphs in IPython notebook today! I’d love to post them, but they’re for an assignment and our prof just reminded us about academic integrity. Oh well! At least I think this is fun!

Explanations

Eep! I want to be a better communicator in conjunction with being a better programmer. It’s difficult to convince other people that I know something. I think the key is to understand things more deeply, and to practice talking enough to feel comfortable. I’m also working on being patient with fumbling and stumbling in the meantime.

Hacker School Update

A Skype interview is scheduled for this Friday. I’m so happy that the facilitators are interested in having me at Hacker School!

I know I learn much better in a safe space where I feel comfortable asking questions. Hacker School certainly would help me deepen and accelerate my understanding of programming! I can’t wait to meet great mentors who will believe as strongly as I do that I will benefit from this experience.

Tying Subjects Together

In BIOL 551: Principles of Cellular Control, I have the opportunity to select a paper to present. We’re divided into groups with an overarching topic, and my group is focusing on decision-making. What’s neat about this course is that the students are from the biology, quantitative biology, or computer science and biology programs. Each student can contribute different information to the group, based on personal preference.

I’ve decided that I want to learn more about Bayesian networks, so that’s what I’m going to do! I found a promising paper so far: Bayesian analysis of signaling networks governing embryonic stem cell fate decisions by Woolf PJ et al.

Finding the right balance between multiple disciplines can be challenging, but it pays off when you discover something that interests you. When it comes to academic assignments, I know it’s tempting to choose what seems easy. If you want to make the most out of your university experience, take the things you don’t want to do and transform them.

University can also be pretty rigid though. Sometimes it’s not easy to rework degree programs into personalized learning trajectories, but take advantage of any opportunities you get! If you think you’re wasting your time, make sure you aren’t. Explore your options, talk to professors, use student services. Make it your own.

Artificial Intelligence

I’m currently taking COMP 424: Artificial Intelligence at McGill. It’s very theory-based, and there is a ton of material to cover.

This is the kind of course I wish I could spend a year doing, rather than a semester. It would be amazing to learn how to properly implement everything we discuss in class! It would be even more amazing if we could have enough TAs to grade our entire assignments instead of one or two questions.

AI makes me feel like I know extremely little about what machines and people who program machines are capable of. It’s mind-blowing! It’s intriguing! I’m not going to learn what I want to know from this course, but at least it has revealed something that mystifies me! Moving forward, I want to expand my brain with this subject, accumulate practical knowledge, and do a cool thing or two or more.