PyDev of the Week: Aymeric Augustin | The Mouse vs The Python

PyDev of the Week: Aymeric Augustin | The Mouse vs The Python

This week we welcome Aymeric Augustin (@aymericaugustin) as our PyDev of the Week. Aymeric is a core developer of Django, a Python web framework. He is also an entrepreneur and speaker at several Django related conferences. You can catch up with Aymeric over on his website or check out his FOSS contributions on Github. Let’s take a few moments to get to know him better!

Aymeric Augustin

Can you tell us a little about yourself (hobbies, education, etc):

Do you know how to spot a Frenchman? That’s always the first thing they mention! Now that’s out of the way…

These days my hobbies center around being the dad of three wonderful girls 🙂 We’re doing a lot of physical activity together: swimming, cycling, gardening, playing music, etc.

I’m managing a software engineering department of about 200 people at CANAL+, a French audiovisual media group that operates TV services in several countries.

I was trained as a generalist engineer, eventually specializing in Computer Science and Information Technology, but I learnt most of what I do on the job.

Why did you start using Python?

In 2006, a friend told me about this great, simple language called Python. At first, I dismissed it: I said that PHP was simple enough for anything I wanted to do. This ranks quite high on the long list of stupid things I said 🙂

One year later, I was doing an internship at (now defunct) Zonbu, living the startup life in Palo Alto. That’s when I wrote my first Python application. It was a desktop GUI for encoding videos such that they’d play on iPods or on the just-released iPhone. I built it with PyGTK and glade. Under the hood, it ran mencoder and MP4box.

I dug out the source code from my archives for this interview. Not only did it use tabs for indentation and backslashes for line breaks, but it also sported an elegant logging system:

if __debug__:
    print("INFO: Initializing BackgroundEncoder")

Then, in 2009, in my first job, I wrote two non-trivial Python projects. I was working on an in-train entertainment portal. The first one centralized onboard communications between the web portal and the network infrastructure. The second one managed content synchronization depending on available network connectivity. I had discovered the concept of automated tests and I was very proud of my test coverage.

What other programming languages do you know and which is your favorite?

My first language was Basic, first FutureBASIC in 1995 and later TI-BASIC. Then a friend introduced me to HTML and the World Wide Web in 1997. Together, we made a website for our high school.

My Computer Science courses were mostly in Caml — a great language for the mathematically oriented but little known outside French academia, Java, and C. I also had the opportunity to try other interesting languages such as Erlang, Factor, Haskell, and Scheme.

I still enjoy writing small bits of C, mostly for Python extensions. I haven’t used Java since 1.5 was the latest and greatest. I can’t claim I still know it. I tried C# .NET around the same time. I didn’t like it because the documentation always told me what I knew already and never what I wanted to know.

Outside courses, I wrote a lot of PHP. If you’re reading this, you’re probably aware of the challenges of writing significant projects in PHP. However, I wouldn’t be here without PHP, so I’m grateful that it exists. Step by step, I went from static HTML to small dynamic bits, then to factoring out repeated sections, then to writing my own mini-framework, then to Python and Django. That was a good learning path.

Professionally, besides Python, I’ve been writing JavaScript and CSS. I taught myself modern full-stack development when I co-founded Otherwise — because being the CTO at a start-up means you’re the only developer at first. Earlier in my career, I also wrote some Ruby, but I was more comfortable with Django than with Rails.

Purely from a language perspective, I still like Caml a lot. I’m certainly romanticizing memories of when I learnt programming 🙂 Anyway, sometimes I feel like I’m a static typing fan lost in Python land!…

Thanks for doing the interview, Aymeric


The post PyDev of the Week: Aymeric Augustin appeared first on The Mouse Vs. The Python. from The Mouse Vs. The Python


PyDev of the Week: Katherine Kampf | The Mouse vs The Python

PyDev of the Week: Katherine Kampf | The Mouse vs The Python

BITD, this would have been unthinkable, but in 2019 and mostly under Satya Nadella’s leadership, the embrace of Python by Microsoft is encouraging. Python is what Visual Basic should have been. That’s just me, a wannabee not a particularly skilled programmer.

This week we welcome Katherine Kampf (@kvkampf) as our PyDev of the Week! Katherine is a Program Manager at Microsoft, specifically for Azure Notebooks, which is Microsoft’s version of Jupyter Notebook. She also recently gave a talk at EuroPython 2019. Let’s take a few moments getting to know Katherine better!

Can you tell us a little about yourself (hobbies, education, etc):

Sure! I am currently a Program Manager for Azure Notebooks at Microsoft. I joined the company in 2017 and started working on the Big Data team. After some time there, I decided to move closer towards notebooks and Python which led me to the Python Tools team which has been a blast.

Before starting at Microsoft, I graduated from the University in Michigan where I studied Computer Science. I also grew up Ohio so the Midwest was home for quite a while and will always have my heart. While at UofM, I was also lucky enough to TA our introductory computer science course which covered both C++ and Python. I loved helping folks learn new concepts, and I’m so glad I get to continue this in some form by speaking at conferences!

Nowadays, I’m based in Seattle and love living the stereotypical Pacific Northwest life. I tend to spend my weekend’s skiing in the winter and hiking in summer. In between those, I love to travel around and am working on visiting all the U.S. National Parks! I’m also a dog-enthusiast and am always working on being friends’ go-to dog sitter 😊

Why did you start using Python?

I had played around with Python when I was first learning to program around 7 years ago, but I started using it on the regular around 4 years ago for an AI course at university

What other programming languages do you know and which is your favorite?

C++ is my other primary language, and it used to be my favorite, but Python has definitely stolen my heart over the past few years.

Thanks for doing the interview, Katherine!



The post PyDev of the Week: Katherine Kampf appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python

PyDev of the Week: Frank Wiles | The Mouse vs The Python

PyDev of the Week: Frank Wiles | The Mouse vs The Python

This week we welcome Frank Wiles (@fwiles) as our PyDev of the Week! Frank is the President and Founder of Revolution Systems and President of the Django Software Foundation. If you’d like to know about Frank, you should take a moment to check out his website or his Github account. For now, let’s take some time to get to know him better!

Can you tell us a little about yourself (hobbies, education, etc):

I grew up in a small town in Kansas, about 10,000 people, so computers became a hobby early in life. Other than that I really enjoy cooking and when I have time some photography, but these days it’s mostly just taking photos of the kiddos.

I attended Kansas University for awhile as a CS major and then switched to Business before ultimately dropping out during the dotcom boom.

Frank Wiles

Why did you start using Python?

I started using Python in 2008 and it quickly became my primary language. At the time I was sharing an office with Jacob Kaplan-Moss and our friend Rikki knew that and wanted me to write an article that was part interview of him about the recent creation of the Django Software Foundation and part quick intro to Django.

I said sure and then realized, crap now I have to learn Python and Django.

I quickly realized that Django was better than what I was currently using and that I found Python to be really great as well. In hindsight, I’m really glad I was gently nudged in this direction.

You can actually still find a slightly broken version of the article online.

What other programming languages do you know and which is your favorite?

I was primarily a Perl person for about a decade, even writing a book on it with a friend back in 2001 but I haven’t used it in at least 10 years.

I know enough C/C++ and Go to be dangerous. I’d like to do a larger project in Go at some point but have yet to find the time. I’m also half-heartedly teaching myself Rust, but haven’t done anything serious with it yet. But from what I’ve seen it has a place in my bag of tricks in the future.

Python is obviously my favorite and the tool I always reach for first…


Thanks for doing the interview, Frank!


The post PyDev of the Week: Frank Wiles appeared first on The Mouse Vs. The Python.from The Mouse Vs. The Python

PyDev of the Week: Paul Ganssle | The Mouse vs The Python

PyDev of the Week: Paul Ganssle | The Mouse vs The Python

This week we welcome Paul Ganssle (@pganssle) as our PyDev of the Week. Paul is the maintainer of the dateutil package and also a maintainer of the setuptools project. You can catch up with Paul on his website or check out some of his talks. Let’s take a few moments to get to know Paul better!

Can you tell us a little about yourself (hobbies, education, etc):

One thing that sometimes surprises people is that I started out my career as a chemist. I have a bachelor’s degree in Chemistry from the University of Massachusetts, Amherst and a Ph.D. in Physical Chemistry from the University of California, Berkeley. After that, I worked for two years building NMR (nuclear magnetic resonance) devices for use in oil wells. In 2015 I was looking for a career with a bit more flexibility in terms of location and I made the switch to software development; one thing that is nice about the software industry is that tech companies are not afraid to hire people with non-traditional backgrounds if they know how to code.

Paul Ganssle

I have the typical assortment of “hacker” and “autodidact” hobbies – learning languages, picking locks, electronics projects, etc. One of my favorite projects (which has unfortunately fallen a bit by the wayside) is my HapticapMag, a haptic compass that I built into a hat. I had it up and working for 2 or 3 weeks, but some parts broke and I never got around to fixing it. My tentative plan is to start up some new electronics projects in 4-5 years when my son is old enough to be interested in that sort of thing.

Why did you start using Python?

I have two origin stories for this, actually. The more boring one is that around 2008 a friend of mine told me about this cool and increasingly popular programming language called Python that I should definitely learn, and I sort of picked it up and started using it for little system automation tasks.

What really got me into Python, though, was when I illustrated some point I was making in a forum post using a graph that I had made in Matlab and someone complained about the terrible aliasing in the plot and suggested I use matplotlib instead. I tried it out and the plots were so much better that I was instantly hooked. After that, I moved everything I could over from Matlab to Python and never looked back.

What other programming languages do you know and which is your favorite?

It’s hard to say when you “know” a programming language, but the programming languages I’m most confident with are C++, C, and Rust (and probably some others like Matlab that I haven’t used in years but once knew pretty well). I can write enough Javascript to get by, but to say I know it would be kind of like saying I speak Spanish because I can order a beer and ask where the bathroom is.

At the moment, I’m very excited about Rust, which is a memory-safe systems programming language targeting the use cases where C and C++ currently predominate. One of the very nice things about Rust is that there is a very enthusiastic community out there and it already has a flourishing ecosystem of third-party packages, which I think is one reason there’s a lot of excitement about Rust in the Python community.

Thank you for asking me to do this interview and thanks to all the readers who’ve indulged my verbosity by reading all the way to the end.

…Thanks for doing the interview, Paul!


The post PyDev of the Week: Paul Ganssle appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python

PyDev of the Week: Raphael Pierzina | The Mouse vs The Python

PyDev of the Week: Raphael Pierzina | The Mouse vs The Python

This week we welcome Raphael Pierzina (@hackebrot) as our PyDev of the Week! Raphael is a core developer of pytest, a popular testing framework for Python. You can learn more about Raphael by visiting his blog or checking out his Github profile. Let’s take a few moments to get to know Raphael!

Can you tell us a little about yourself (hobbies, education, etc)

My background is in 3D visualization and animation. After graduating from university with a Bachelor of Arts in Design, I worked as a software developer for a visual effects company for a few years and built applications for digital artists.

Fast forward to today, after having worked at a few other software companies, I’m now at Mozilla where I work on Firefox Telemetry. I manage projects to reduce Telemetry related blind-spots in our Firefox browser products and support our Software Engineers and Data Engineers in increasing the automated test coverage for the Firefox Telemetry component and our Firefox Data Platform. I wrote about my first year at Mozilla on my blog earlier this year in February, if you’d like to find out more about my work.

For fun, I like to run fast, read books, and enjoy the outdoors. 🏔

 Raphael Pierzina
Raphael Pierzina

Why did you start using Python?

Back when I worked in VFX, my team developed plugins for several 3D computer graphic applications in whatever scripting language these programs supported:

  • MaxScript in 3ds Max
  • MEL in Maya
  • TCL in Nuke
  • ZScript in ZBrush
  • C# in Unity

We often had to develop similar features for the different programs in the respective languages, which was not only tedious but also felt really unnecessary.

When I first learned about PyPI and the many awesome frameworks, libraries, and CLI apps that the Python community created and published under open-source licenses, I immediately fell in love with Python and started to look for ways to get involved and contribute back to Python projects that seemed welcoming to newcomers, like for example cookiecutter. 🍪

What other programming languages do you know and which is your favorite?

Aside from the scripting languages that I’ve mentioned earlier, I learned C++ and Java at university, but I wouldn’t say I know those as I haven’t used them in years. I’ve done a fair bit in Go for a previous job and for personal projects, but Python is definitely what I feel most proficient in. I recently started learning Rust and really like it so far.

While I don’t always enjoy coding in Python (I’ve worked on adding Python 3 support to way too many projects at this point and still support Python 2 in the majority of the projects that I maintain), Python is still my favorite programming language!

Through my involvement in several open-source Python projects, from attending and speaking at Python conferences and meetups, and interactions on Twitter, I have made a lot of friends in the Python community. If you see me at EuroPython or PyCon DE this year, please say hi!

…Thanks for doing the interview, Raphael!


The post PyDev of the Week: Raphael Pierzina appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python

PyDev of the Week: Eric Matthes | The Mouse vs The Python

PyDev of the Week: Eric Matthes | The Mouse vs The Python

This week we welcome Eric Matthes (@ehmatthes) as our PyDev of the Week! Eric is the author of the popular book, Python Crash Course. He also created a neat set of Python Flash Cards that I reviewed earlier this year. You can catch up with Eric on his website or check out some of his work on Github.


Let’s take a few moments to get to know Eric better!

Can you tell us a little about yourself (hobbies, education, etc):

Sure! I grew up in southern New Hampshire, on the outskirts of Boston in the early 1980s. My father was a software engineer at DEC around that time, and I first learned to program on a kit computer in our basement back then. I am so grateful to my father for sharing the technology he had at home, instead of telling me to keep away from it all. It has been amazing to watch computers evolve from the early days of almost no one having a home computer to almost everyone having multiple computers in their lives.

I loved math and science in high school, and I went into undergrad as a chemical engineering major because I loved AP Chemistry. But I soon found that engineering was really about learning to solve other people’s problems. I enjoyed my physics classes though because they were all about understanding the universe, from the very large to the very small. For a while, I naively worried that if I stayed with physics long enough I’d start to find the world less interesting as I understood it on a deeper level. It was a joy to discover that the opposite was true: the more I learned, the more fascinating everything around me became.

I continued to learn new programming languages throughout my educational experiences. I took a variety of programming classes, and always had a few projects going for fun. I wrote a 3d graphing program in C during spring break one year in college.

I wanted to be a particle physicist, but I didn’t want to be a student forever. I decided to try teaching for a couple years and quickly found that the intellectual challenge of trying to reach every student in my classes was just as satisfying as doing hard science. I loved teaching and decided to stay with it.

In 2011 my son was born, and a month later my father died. It was a really hard time, but it was also a formative experience for me. My mother asked me to look through my father’s computer and let her know if there was anything worth saving. It was a really intimate experience, looking through all the projects he was working on, and reading through his notes. I used to visit him in his office whenever I went home, and as long as his computer was open and running that day I still felt directly connected to him. It was sad to realize these projects would never be finished, and would never be used by anyone. In the weeks that followed, I realized that if I died you’d find a bunch of half-finished projects on my computer as well. I made a commitment to start using the skills I’d learned to build something meaningful.

I wanted to build tools that would bring greater equity to public education. I gave a talk at PyCon 2013 about how much the educational world could gain from the open-source model, and Bill Pollock of No Starch Press approached me afterwards. “I hope you build what you described, and if you ever want to write a technical book let me know.” I went back to my classroom and saw a poster hanging on my wall: “What’s the least you need to know about programming in order to start building meaningful projects?” It was a list I had made for my students of the smallest set of things they needed to know in order to be able to build the things they cared about like games, data visualizations, and simple web apps. I realized that was the book I wanted to write, and the question on that poster became the guiding question for Python Crash Course. I hadn’t intended to write a book, but I realized that in five years of trying to teach programming to high school students, all the resources I found were either aimed at young kids or assumed more technical knowledge and experience than my students had. I decided to write a book for anyone old enough to not want a kids book. It has been immensely satisfying to see that Python Crash Course works for almost everyone in that anticipated audience: young kids motivated enough to want a more serious book, high school students, undergrads in all majors, grad students, working adults, and retired people who are curious to learn programming at an older age. I was surprised to find it even works well for people who are already fluent in another language and want to pick up Python quickly.

I don’t just do technical work. After growing up in New Hampshire, I moved to New York City for seven years in the 1990s-early 2000s. I bicycled across the US a couple times during the summer and then lived on a bicycle for over a year at one point. I rode from Seattle to Maine, down to Florida, over to California, and up to Alaska. That was a life-changing experience, and I moved to southeast Alaska for good in 2002. I love living in a sizeable but isolated town right on the edge of true wilderness. When I go trail running, there’s a very real chance I’ll see a brown bear. Server crashes are a lot easier to keep in perspective when I’ve had close encounters with bears in the woods. I love steep mountains, and I’ve been an active member of a technical rescue team since I moved here. I also love living a partial subsistence lifestyle. Every year we catch our own king salmon, sockeye, coho, halibut, crab, and deer. It’s wonderful living in a community where almost everyone goes out to fish, hunt, and gather a good deal of their own food.

Why did you start using Python?

My language of choice in the mid-2000s was Java. I had used C for a while and liked the higher-level libraries that Java offered. Then a friend said, “Hey you should check out Python. Your programs will be about a third as long as they are in Java.” Like many people new to Python at the time, I was pretty skeptical of the use of whitespace instead of braces, and I was surprised I didn’t need to declare variables. But these ideas were more intriguing than off-putting. I was working on a project to make artistic representations of random walks, and I had built a desktop application for generating and styling random walks. I rewrote the application in Python, and it really was about a third as long as my Java program. I was floored, and I’ve been using Python for almost every project since then.

When asked why they use Python, people famously say, “I came for the language and stayed for the community.” That answer certainly speaks for me. After my father died and I decided to take my programming work more seriously, I looked for a technical conference to attend. I am so grateful that I stumbled upon PyCon. I first went in 2012, which happened to coincide with some of the early diversity and Code of Conduct initiatives. I watched as the community set clear diversity goals, made specific plans to achieve those goals, and followed through on those plans. When I go to PyCon now, I see a fully diverse crowd, and the variety of topics that are presented is just awesome. The Python community is answering the question, “If we make programming accessible to everyone, what will people build?” It’s critical that we give people from all walks the power that programming offers, and let people build projects that serve their own needs, and the needs of their communities.

What other programming languages do you know and which is your favorite?

I started with Basic in the 1970s and early 1980s. I never got too deep into any language until Java and Python in the mid-2000s, but along the way, I gained some understanding of Logo, C, Pascal, Fortran, HTML, CSS, JavaScript, and SQL.

I use Python almost every day now. In the next year or so I really want to solidify my understanding of SQL, and I’d like to explore a functional language like Lisp or Haskell. I’d also like to play around with a variety of languages I’ve heard about but never used such as Rust and Go. I don’t ever want to get stuck with Python because it’s what I know; if something better comes along, I want to evolve with the industry.


…Thanks for doing the interview, Eric!


The post PyDev of the Week: Eric Matthes appeared first on The Mouse Vs. The Python.from The Mouse Vs. The Python

PyDev of the Week: Ines Montani | The Mouse vs The Python

PyDev of the Week: Ines Montani | The Mouse vs The Python

This week we welcome Ines Montani (@_inesmontani) as our PyDev of the Week! Ines is the Founder of Explosion AI and a core developer of the spaCy package, which is a Python package for Natural Language Processing. If you would like to know more about Ines, you can check out her website or her Github profile. Let’s take a few moments to get to know her better!

Can you tell us a little about yourself (hobbies, education, etc):

Hi, I’m Ines! I pretty much grew up on the internet and started making websites when I was 11. I remember sitting in school and counting the hours until I could go back home and keep working on my websites. I still get that feeling sometimes when I’m working on something particularly exciting.

I wasn’t quite sure what to do with my life, so I ended up doing a combined degree of media science and linguistics and went on to work in the media industry for a few years, leading marketing and sales. But I always kept programming and building things on the side.

In 2016, I started Explosion, together with my co-founder Matt. We specialise in developer tools for Machine Learning, specifically Natural Language Processing – so basically, working with and extracting information from large volumes of text. Our open-source library spaCy is a popular package for building industrial-strength, production-ready NLP pipelines. We also develop Prodigy, an annotation tool for creating training data for machine learning models.

I’m based in Berlin, Germany, and if I’m not programming, I enjoy bouldering 🧗‍♀️, eating good food 🥘 and spending time with my pet rats 🐀.

Why did you start using Python?

It really just kinda… happened. I never sat down and said, hey, I want to learn Python. I’m actually pretty bad at just sitting down and learning things. I always need a project or a higher-level goal. When I started getting into Natural Language Processing, many of the tools I wanted to use and work on were written in Python. So I ended up learning Python along the way. It also appealed to me as a language, because it’s just very accessible and straightforward, and I like the syntax.

What other programming languages do you know and which is your favorite?

These days, I mostly work in Python and Cython. I’m also fluent in JavaScript, have recently started working more with TypeScript, and did a bit of PHP and Perl back in the day.

I don’t want to get hung up on the definition of a “programming language”, but in terms of *writing code*, I also really love building things for the web. CSS is quite elegant once you get to know it, and it’s actually one of my favourite things to write.


Thanks for doing the interview, Ines!


The post PyDev of the Week: Ines Montani appeared first on The Mouse Vs. The Python. from The Mouse Vs. The Python