PyDev of the Week: Meg Ray

PyDev of the Week: Meg Ray

This week we welcome Meg Ray (@teach_python) as our PyDev of the Week! Meg teaches programming to other teachers and has developed a Python-related curriculum. Meg is also the author of Code This Game, a book which will be coming out in August 2019. Let’s take some time to get to know her better!

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

 

I started out as an actor. I studied theater and moved to New York City to start out my career. One of the jobs I did to stay afloat while I was starting out was teaching theater classes to kids. I taught theater programs for students with disabilities as well as homeless youth. This lead me to my career as a special education teacher. I really enjoyed teaching and mentoring young people, particularly young people who have had challenges in their lives.

 

Around this time in my life, I began to learn to program. I was having a lot of fun with it, and I also started to understand computer science education as an equity issue. I was hired at a school to teach a software engineering and game design class that was required for all 9th graders. I learned as I went. I re-designed the course to include Python in addition to block coding and to be more inclusive of students with learning differences.

 

Now I develop curriculum and train other educators to teach computer science. Through the Cornell Tech Teacher in Residence initiative, I have been providing in-classroom coaching and support to K-8 teachers. I’ve also been working on my first book! Code This Game! is an intro to Python and computer science through designing a game. It was really fun to have the opportunity to apply everything I’ve learned about teaching Python to kids in a creative way.

 

On a personal note, I’m a new mom. One of the priorities that I have now is building community. I DM for a D&D (with babies!) campaign, and have been thinking about other ways to make space for family and community in my life. One thing that I love about Python is the Python community. For me that means participating in my local meetup, collaborating with others to support Python eductors, and attending Pycon as a family.

 

Why did you start using Python?

 

My partner is a software engineer. He really wanted me to attend the NYC Python meetup with him in 2013. I was convinced it would be boring, but agreed to go one time. I wrote my first program that evening and had a great time! I started going with him every week and using the time to practice and learn. Then he convinced me to attend Pycon with him in 2014. I signed up for a tutorial with Software Carpentry while he participated in the sprints. The rest is history. He’s also learned a lot about education since then. It’s been amazing to have the opportunity to push each other’s thinking, have debates about how CS is taught, and work on projects together.

 

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

 

I know some Processing and JavaScript. Python will always be my favorite!

 

Thanks for doing the interview, Meg!

The post PyDev of the Week: Meg Ray appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python https://ift.tt/2LZBnD4

Advertisements

PyDev of the Week: David Kopec | The Mouse vs The Python

PyDev of the Week: David Kopec | The Mouse vs The Python

This week we welcome David Kopec (@davekopec) as our PyDev of the Week! David is the author of Classic Computer Science Problems in Python from Manning, as well as several other books. He was even interviewed about his book by Talk Python! If you would like to see what open source projects he is working on, then you should head on over to Github. Now let’s take some time to get to know David!

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

 

Before I start, I want to thank Mike for including me in this series. It’s an honor.

 

I’m an assistant professor in the Computer Science & Innovation program at Champlain College in beautiful Burlington, Vermont, USA. Before becoming a full time professor, I worked professionally as a software developer, and I’m still open to taking projects on a consulting basis. I have a bachelors degree in economics (minor in English) from Dartmouth College and a masters degree in computer science, also from Dartmouth.

 

I’m the author of three programming books: Dart for Absolute Beginners (Apress, 2014), Classic Computer Science Problems in Swift (Manning, 2018), and Classic Computer Science Problems in Python (Manning, 2019). However, I no longer recommend the Dart book because it’s very outdated. I’m also an active contributor to open source.

 

When I’m not working, I enjoy learning about American history, entrepreneurship, and keeping up with the world of computing (although that’s kind of my job too). I also have all the same hobbies that just about everyone has—cooking, traveling, film, reading (classics, biography, history, business dramas), television (Frasier & The Curse of Oak Island!), music, video games (Zelda & AOE2!), podcasts, stock trading, etc.

 

Why did you start using Python?

 

When I started graduate school at Dartmouth about a decade ago, I realized that many of my classes were in Python, so I thought: “I better get good at this language!” I really liked the language from the beginning, because of its succinctness and rich standard library. I appreciate how Python often closely resembles the pseudo-code you find in a textbook or you write on the board, but it’s not pseudo-code, it’s real-code.

 

I’ve used Python on-and-off for web development projects, and we teach several of our computer science courses at Champlain in Python.

 

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

 

It’s a long list because I started programming when I was eight years old and basically never stopped. Here are the languages I’ve actually used on non-trivial projects in the approximate chronological order of when I learned them: BASIC, Visual Basic, Java, C, Objective-C, PHP, JavaScript, Python, Ruby, Dart, and Swift. I’ve also learned in school, or learned in order to teach them: Scheme, Haskell, Assembly, and Go. And I’ve dabbled in Perl, C++, and Clojure.

 

It’s a fairly long list—I know. I guess I’m a bit of a language optimist, because the one I like best is often the one I’m really deep into using on a project. Well, if you asked me five years ago about my favorite, I would probably say Objective-C. However, today I don’t really have a favorite. My go-to languages right now are Swift for building Mac & iOS apps, Python for web or scripting work, and C for some of my hobby projects.

 

I know what I don’t like, though. And that’s C++. I begrudgingly started to learn some of the recent changes in C++ 11, 14, and 17 last week. And while they generally make the language a bit better, they also make the thing I dislike most about C++ worse—its size. It’s just such a big language with so many features that it’s hard to wrap your head around it when you’re not using it every day. I’ve heard it said that even people who write C++ professionally usually only use a subset of the language. I hope to never have the misfortune of writing C++ professionally, so hopefully I will never have to find out. All kidding aside though, it’s not my favorite language. But based on my prior history, maybe I’d start to like it more if I just wrote more of it!

 

One recent worry I’ve had is that perhaps I’m context switching languages too much. In my work, it’s not unusual for me to be answering student questions in Go, Swift, and Python during the day and then coming home and doing some of my own projects in C. The worry is that I’m no longer spending enough time in a single language to be fully realizing the benefits of mastery. Instead I’m trying to remember how to do something differently in one language than in another.

 

Thanks for doing the interview, David!

 

The post PyDev of the Week: David Kopec appeared first on The Mouse Vs. The Python.
from The Mouse Vs. The Python https://ift.tt/2XxkK8P

PyDev of the Week: Scott Shawcroft | The Mouse vs The Python

PyDev of the Week: Scott Shawcroft | The Mouse vs The Python

This week we welcome Scott Shawcroft (@tannewt) as our PyDev of the Week! Scott is the lead developer of CircuitPython, a variant of the Python programming language made for microcontrollers. If you’d like to see what else Scott is up to, his website is a good place to start. Let’s take a few moments to get to know Scott better!

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

 

I’m Scott, I graduated from the University of Washington in 2009 in Computer Engineering. Afterwards, I joined the Maps team at Google where I worked on rendering and styling of the map. I left in 2015 to do my own thing. I designed a modular flight controller system for racing quadcopters and learned about hardware at the same time. My hobbies include running, rock climbing, video gaming and thrift shopping for retro electronics (so I can put CircuitPython in them.)

 

Why did you start using Python?

 

I started using Python to make my first desktop application (Denu) back in 2004 or so. I first learned programming with PHP and websites. I wanted to move to programming the desktop and remember standing in a bookstore deciding between Perl and Python books. I picked Python for some reason and have never looked back.

 

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

 

As I said, I learned PHP first after wanting dynamic HTML. (This is before CSS and Javascript were really a thing.) I haven’t really touched PHP since then.

 

In school we did mostly Java with a small sampling of other languages. While I TAed the intro computer programming course I taught an optional section that taught the course in Python too. After buying a new MacBook Pro, I reverse engineered the Apple multitouch pad using Python and implemented a daemon for it in C in 2008. (It’s my Linux kernel claim to fame.)

 

I did Javascript at Google for an internship on GMail. Once I started full time at Google, I did C++ on servers. For my embedded work I primarily do C (even in CircuitPython).

 

It’s a bit tough to pick a favorite. Python is always a great start for scripting, prototyping and teaching. The newest versions of C and C++ are also really nice when you want to manage your own memory.

 

Thanks for doing the interview, Scott!

The post PyDev of the Week: Scott Shawcroft appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python https://ift.tt/2KOdz5F

PyDev of the Week: Geir Arne Hjelle|The Mouse vs The Python

PyDev of the Week: Geir Arne Hjelle|The Mouse vs The Python

This week we welcome Geir Arne Hjelle (@gahjelle) as our PyDev of the Week! Geir is a regular contributor to Real Python. You can also find some of his work over on Github. Let’s take a few moments to get to know Geir now!

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

 

Sure. I grew up in a beautiful village on an island in the north of Norway. My family has since moved south, but I still go north and visit friends and enjoy the nature regularly. I’ve always enjoyed playing with numbers, so I quite naturally ended up studying mathematics at the University. I did both a Master’s and a PhD at the Norwegian University of Science and Technology in Trondheim. During the PhD, I also got to spend about a year in my favorite big city: Barcelona. To this day, I spend a week or two in Barcelona every year.

 

After my studies, I lived three years in St. Louis, Missouri doing a Post.Doc at Washington University. Then I moved back to Norway, and I’m currently living in Oslo working with data science, mostly using Python.

 

I spend a fair bit of my free time with programming as well. I write tutorials for Real Python and helping teach kids how to code. I enjoy being outdoors. In Norway there are great opportunities for going skiing in the winter, and hiking in the summer. At this very moment, I’m actually basking in the sun in a hammock in the forest just outside of Oslo. Finally, I should note that I love getting together with friends for a board game session.

 

Why did you start using Python?

 

Interestingly, it actually took me quite a while to get warmed up to Python. I have done some kind of coding almost my entire life. I got started with BASIC on the Commodore 64 back in the 80’s, where I think one of my proudest achievements was figuring out that GOTO was evil. I also remember hacking one of my games with the magic line IF PLAYER="Geir Arne" THEN SCORE=SCORE+100, which in a small way exemplified the power of knowing some basic programming (and the responsibilities that come along).

 

My first encounter with Python was at a summer internship, where I was working alongside someone who was quite involved with Python at the time. This was Python 1.6, and it already seemed quite powerful. At the time I was dealing with Java, C, and C++, and ironically the simplicity of Python confused me. How did it work without a `main()` method? And what really happens at imports? In the end, I went back to my braceful code.

 

I finally picked up Python again around 2012. At the time I was working with Matlab as a modeling tool. Matlab is great for doing what Matlab is great at, but I also started to feel some of its limitations. At an internal hackathon, a colleague and I wanted to create a tool to automate the generation of some reports, and we decided to try Python for the project. This time it clicked much better. I was really impressed by how easily and fast we could create the tool. At the next hackathon, we did a proof-of-concept showing how to integrate Python into the Matlab model pipeline. While we got some support from the higher-ups, this unfortunately ended at the PoC stage.

 

As a kind of New Year’s resolution for 2014 I challenged myself to learn Python more properly. Luckily, several things came together that year. I started a new job where I could use Python as my main language. I was also able to attend a few conferences, and got to learn more about both the community and the eco-system surrounding Python. The more I’ve learned, the more impressed I’ve become with the language design. The core of the language is quite simple and consistent, while being very flexible. At the same time, the supporting tools and packages have really matured the last couple of years. I see a big improvement, just in the relatively few years I’ve been using Python.

 

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

 

At this point Python is clearly my favorite, and the language I reach for when I need to be productive. However, there are some other languages that I have very fond memories of. During my studies, I first started using Linux and came across Awk. I picked up O’Reilly’s classic Sed & Awk book—mainly because of the weird animals on the cover—and became an instant fan. Awk worked very seamlessly with the whole Unix philosophy of piping small specialized tools together. In the end, I used Awk to create several small tools, including a small language for creating fractals that I used for my Master’s thesis.

 

I’m also very impressed with Scratch. While it may have the appearance of a toy language, it supports all the “serious” programming concepts. I’ve been involved in teaching programming to kids for some years now, and Scratch is an amazing platform for this. The kids are usually up and coding on their own within 5 minutes of opening the web page. Within one hour they have created their very own game. I have actually done a few semi-serious projects with Scratch as well. However, the main limitation I find is that proper data structures are not really well supported (and I still do prefer the keyboard for coding).

 

Finally, I hope to one day have the time to learn a pure functional language more properly. I guess the philosophy really intrigues the mathematical part of my brain. There is a fun project called Coconut, which adds functional programming syntax right on top of Python. Another platform I hope to have time learn more about at some time is Erlang and its modern cousin, Elixir. The scalability and concurrency features look really great.

 

Thanks for doing the interview, Geir!

The post PyDev of the Week: Geir Arne Hjelle appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python http://bit.ly/2NijH7Y

PyDev of the Week: Meredydd Luff | The Mouse vs The Python

PyDev of the Week: Meredydd Luff | The Mouse vs The Python

 

This week we welcome Meredydd Luff (@meredydd) as our PyDev of the Week! Meredydd is the co-founder of Anvil and a core developer for the Skulpt package. You can learn more about Meredydd on his website. Let’s take a few moments to get to know him better!

 

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

 

I’ve loved programming since I was first introduced to BASIC at the age of 7. I come from Cambridge (the old one in the UK, not the relatively-new one near Boston), and I studied here too. I actually started out as a biologist, but then switched to computer science for my PhD.

 

I think programming is the closest thing to magic we have, and I love watching and helping people get their hands on this power. My PhD research was about building usable parallel programming systems, and now I work on Anvil, a tool to make web programming faster and easier for everyone (with Python!).

 

When I’m not programming, I fly light aeroplanes, which I guess is what happens when your inner six-year-old makes your life decisions. I used to dance competitively (including a few years on England’s top Latin formation team), but it turns out international competitions and startups don’t play well together, so the startup won.

 

Why did you start using Python?

 

I’d dabbled in Python a bit, but I only really started using it in earnest when we started creating Anvil. We wanted to make web development easier, by replacing the mess of five(!) different programming languages with one language and a sensible visual designer. Python was the obvious choice – it’s accessible, it’s predictable, and it has a huge and powerful ecosystem.

 

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

 

I’m a big fan of Clojure. It’s sort of the diametrical opposite of Python. Python is simple, concrete and predictable – it’s really a programming language designed for people. By contrast, Lisps like Clojure turn the abstraction up to 11, and make the person program like the compiler thinks.

 

I also have to tip my hat to C – if I’m using C, I must be having an adventure close to the hardware 🙂

 

Thanks for doing the interview, Meredydd!

 

The post PyDev of the Week: Meredydd Luff appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python http://bit.ly/2Zv5o1o

PyDev of the Week: Valentin Haenel | The Mouse vs The Python

PyDev of the Week: Valentin Haenel | The Mouse vs The Python

This week we welcome Valentin Haenel (@esc___) as our PyDev of the Week! Valentin is a core developer of Numba and several other packages that you can see either on his website or on Github. He has also given several talks at various conferences in Europe. Let’s spend some time getting to know Valentin better!

 

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

 

I went to the University of Edinburgh to get a bachelor in computer science and to the Bernstein Center in Berlin to get a master in computational neuroscience. I tend to favour more traditional computer science topics these days such as compression algorithms and compilers. In my spare time, I spend time with my lovely wife Gloria, fly quad-line sports kites and ride longboards through Berlin. I’ve been doing Python and open-source on Github for about 10 years.

 

Why did you start using Python?

 

I first started using Python as part of my Masters program. Python was—and still is—quite popular in computational neuroscience, both for doing machine learning on sensor data such as EEG and fMRI and also for simulating neural models and networks of neurons. I had been using Java before and it took some getting used to the dynamic (duck) typing style. As part of the academic work I came in touch with the early scientific stack, which at the time consisted mostly of Numpy, Scipy, Matplotlib and the command-line IPython shell. Some of my earliest Python work from that time still survives. A project I did to simulate spiking neurons using a specific type of model:

 

https://github.com/esc/molif — this was my first github repo ever.

Also from that time is the first of my packages to make it into Debian, a Python interface to a specific type of hardware photometer. In fact, I just checked on this Ubuntu machine (Mar 2019), the package is still available:

 

$ apt search pyoptical
  Sorting... Done
  Full Text Search... Done
  python-pyoptical/bionic,bionic 0.4-1.1 all
    python interface to the CRS 'OptiCAL' photometer
 
  :)

 

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

 

I know a little C, shell, go and Java, but Python is by far my favorite though. A friend of mine is working on a secret programming language project called ‘@’, which aims to be… well… runtime only — very intriguing.

 

 

Thanks for doing the interview, Valentin!

 

The post PyDev of the Week: Valentin Haenel appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python http://bit.ly/2I3UtFL

PyDev of the Week: Stefan van der Walt | The Mouse vs The Python

PyDev of the Week: Stefan van der Walt | The Mouse vs The Python

This week we welcome Stefan van der Walt (@stefanvdwalt) as our PyDev of the Week! Stefan is the creator of scikit-image, which is a collection of algorithms for image processing. You can see some of the projects that he is a part of on Github or on Berkeley’s website. Stefan also has his own website which is worth checking out. Let’s take a few moments to get to know Stefan better!

 

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

 

I am currently a researcher at the Berkeley Institute for Data Science (BIDS) at the University of California, Berkeley. I was born and raised in the university town of Stellenbosch, South Africa—renowned for its beautiful nature and world-class wines—where I studied electronic engineering, computer science, and applied mathematics. Growing up there, it was easy to fall in love with nature: I love running and hiking in the mountains, and exploring in general. Nowadays, most of my hobby time is spent with my two children, aged 1 and 3.

 

Why did you start using Python?

 

I’ve always been drawn to new languages, and enjoy tinkering with them to see what constructs they provide, and how you they allow you to express familiar problems in novel ways. So, while I dabbled with Python in high school (for little projects like organizing my music collection), it was really during a summer internship that I learned it inside out. They gave me two weeks to learn Python, after which I had to solve some database-related problems. Those first two weeks were great! Later at university, I did most of my work in Octave, but switched when my advisor got inspired by Python. Those were early days in the scientific Python ecosystem, but I was just too happy that I could use and develop open source software as part of my work.

 

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

 

I feel like “knowing” a language means having developed intuition around it, instinctively knowing how to best express yourself. I spent several years learning C++, but never truly felt comfortable with it. There’s this great book by Scott Meyers where he shows code snippets, and asks you to figure out what’s wrong with them. You often can’t see it, but when he shows you it turns out to be some BIG issue. This had me worried: do I really want to spend so much time learning a language that easily hides catastrophically bad behavior? In that regard, I think C++ has improved a lot since, so that nowadays it is easier to program safely—but I haven’t gone back.

 

Day-to-day, I use JavaScript—to build scientific web portals for machine learning and astronomy—and elisp, because I practically live inside of emacs and org-mode. It’s hard to pick favorites: each serves a purpose, and has its own beauty and warts.

 

There are a lot of others I wish to explore still: Haskell—to understand its type system, Rust—to see what a modern system language looks like, and C# and .NET—to see why users are so excited about their library support and documentation.

 

Thanks for doing the interview, Stefan!

 

The post PyDev of the Week: Stefan van der Walt appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python http://bit.ly/2QIxRgP