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

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

This week we welcome Paul Sokolovsky as our PyDev of the Week! Paul is the creator of Pycopy, which is described as “a minimalist and memory-efficient Python implementation for constrained systems, microcontrollers, and just everything”. You can check out more of his contributions to open source on Github. Let’s take a few moments to get to know Paul better!

Paul Sokolovsky

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

I have Computer Science as my first masters, and later got another masters in Linguistics – when I was a CS student I was interested in Natural Language Processing subfield of AI, and wanted to get a formal degree to work in that areas, perhaps in academia, but that never panned out, I got sucked up into the IT industry, a common story ;-).

Hobbies – well, nothing special, I like to travel, and even if a plane carries me far away, I like to get on my feet and explore like humans did it for millennia. Though if there’s a motorbike for rent, I like to ride it to a more distant mountain before climbing it. My latest interest is history. Like, everyone took history lessons in school and might have their “favorite” history of a particular country at particular timeframe, but trying to grasp history of mankind across the mentioned millennia is a different matter.

Why did you start using Python?

Oh, as many students, at that age I drooled over Lisp and Scheme programming languages. I did a few projects in them, and while they were definitely great and I could grok them, it occurred to me that I wasn’t not sure about the rest of world. Programming is inherently social activity. And besides the power of those languages, their drawbacks were also evident, and while I was able to surmount them, other people might be not just unable, but even unwilling to do that.

So, I started my quest of the best-in-compromise programming languages, sifting thru dozens of both mainstream and obscure languages of that time. I stopped when I found Python. I think of it as “Lisp for real world”. Those were the times of Python 1.5.1…

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

Based on the above, it shouldn’t come as surprise that Python is my favorite languages. I know a bunch of scripting languages – Perl, PHP, Java, JavaScript, Lisp, Scheme, and more “systemish” ones like C and C++. I definitely watch the space and keep an eye on Go, Rust which approaching upstream and niche contenders like Nim, Zig, whatever. I don’t rush into using them – again, I passed that stage of language-hopping when I was a student.

Thanks for doing the interview, Paul!

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

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

PyDev of the Week: Alessia Marcolini | The Mouse vs The Python

PyDev of the Week: Alessia Marcolini | The Mouse vs The Python
This week we welcome Alessia Marcolini (@viperale) as our PyDev of the Week! Alessia is a Python blogger and speaker. You can check out some of her work over on Medium. You can also see some of her coding skills on Github. Let’s spend a few moments getting to know her better!

Alessia Marcolini

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

Hello everybody, my name is Alessia and I’m 21. I come from a little town near Verona, a beautiful city in the north of Italy.

I’ve been living in Trento (Italy) for 2 years and a half now. I moved here to attend university: I’m currently enrolled in the third year of a Bachelor’s degree in Computer Science.

In 2017 I started working part time as a Junior Research Assistant in the Bruno Kessler Foundation, too. FBK is a research foundation based in Trento, working on Science, Technology, and Social Sciences. I’m part of the MPBA unit which focuses on novel applications of Deep Learning from complex data: e.g. Precision Medicine, Imaging and Portable Spectroscopy in industry processes, Nowcasting on time-spatial data. I’m currently working on deep learning frameworks to integrate multiple medical imaging modalities and different clinical data to get more precise prognostic/diagnostic functions.

When not coding, I love dancing and listening to music. I have also been part of a hip hop crew until 2017.

Why did you start using Python?

Well, this dates back to the very first years of my technical high school. We had a teacher who, going against the opinions of many other computer science teachers in my school, decided to teach students in my class Python as the first ever programming language. So, it wasn’t really a choice I made. However, after these six years, I realise how lucky I was to have had that teacher (joking, I realised it even before, I still love that teacher and we are on the best terms but perhaps I did not understand the impact he would have on my future).

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

It’s difficult to say whether you “know” or you “don’t know” a programming language. I can say that Python is my most practiced language, since I’ve been using it every day at work for three years now. Apart from it, I had the opportunity to practice also Java, C and C++ at school and at university. I also took part in the Italian Olympiad in Informatics in teams for a couple of years and we were required to write our programs in C++.

Anyway, Python is definitely my favourite programming language: it is easy to learn, the syntax is intuitive and with Python you can accomplish tasks with much less code than with other languages. It’s very handy for writing scripts, but at the same time it’s powerful and it gives you the possibility to write an entire object oriented application end-to-end. It can serve multiple areas of application, from web development, to desktop development, to data science.

They say you “Come for the language, Stay for the community”, and this is really one of the aspects I appreciate the most about the Python environment. My experience with the Python community has been awesome and that’s why I always encourage people to come to the Python world (more on this later).

Thanks for doing the interview, Alessia!

The rest of the post PyDev of the Week: Alessia Marcolini appeared first on The Mouse Vs. The Python.

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

PyDev of the Week: Thomas Wouters | The Mouse vs The Python

PyDev of the Week: Thomas Wouters | The Mouse vs The Python

This week we welcome Thomas Wouters (@Yhg1s) as our PyDev of the Week! Thomas is a core developer of the Python language. He is very active in open source in general and has been a director of the Python Software Foundation in the past. Let’s spend some time getting to know him better!

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

I’m a self-taught programmer, a high school dropout, a core CPython developer, and a former PSF Board Director from Amsterdam, The Netherlands. I’ve been playing with computers for a long time, starting when my parents got a Commodore 64 with a couple books on BASIC, when I was 6 or 7. I learned a lot by just playing around on it. Then in 1994 I discovered the internet, while I was still in high school. This was before the days of the World Wide Web or (most) graphics, but I was sucked in by a programmable MUD, a text-based “adventure” environment, called LambdaMOO. LambdaMOO lets you create your own part of the world by making rooms and objects, and programming their behaviour, in a programming language that was similar to Python (albeit unrelated to it). One thing led to another and I dropped out of high school and got a job at a Dutch ISP (XS4ALL), doing tech support for customers. A year later I moved to the Sysadmin department, where I worked for ten years. I gradually moved from system administration to programming, even before I learned about Python. 

Besides working with computers I also like playing computer games of all kinds, and non-computer games like board games or card games. I do kickboxing, and I have a bunch of lovely cats, about whom I sometimes tweet. I’m pretty active on IRC as well, and I’m a channel owner of #python on Freenode. I also keep ending up in administration-adjacent situations, like the PSF Board of Directors and the Python Steering Council, not so much because I like it but because I don’t mind doing it, I’m apparently not bad at it, and it’s important stuff that needs to be done well.

Why did you start using Python?

While working at XS4ALL, a friend with whom I worked on a TinyMUX-based MUD knew I preferred LambdaMOO, and mentioned that Python was a lot like the MOO language, at least conceptually. I knew BASIC, Perl and C at the time, but I wasn’t particularly happy about any of them. The MOO language had always just seemed more logical, more natural to me. When I finally tried Python, it was an eye-opening experience. Mind you, this was in 1999, and it was Python 1.5.2; compared to Python 3.8, practically the stone age. Still, I fell in love with it instantly. It just fit my brain so nicely. That I was able to easily (compared to the state of the art at the time) use C libraries, or even embed Python in C programs, was an extra bonus. I didn’t get to use Python much at work until I moved to Google, but I did all kinds of hobby programming with it. 

Part of why I kept programming is that I found out how much fun it was to work on CPython itself. I had worked on a number of different C code bases at the time, and CPython’s was the cleanest, most readable, most enjoyable by far. I learned a lot from just reading it, and implementing small features that people asked for. I took a proof-of-concept patch from Michael Hudson to add augmented assignment (+=, *=, etc) and ran with it, getting guidance from Guido himself on a lot of the details. It took a lot longer than I expected, but that ended up becoming PEP 204, and made me a core Python developer. I was just in time to help found the Python Software Foundation as well, which we did in 2003, and I was on its Board of Directors the first three years (and again later).

My involvement with Python also meant I got offered a job at Google, working remotely from Amsterdam, to help maintain Python internally. The rest of my team is in California, and I get to visit them regularly. The work at Google is complex and diverse and challenging enough that after 13 years I’m still not bored.

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

I know C intimately, and C++ and Java fairly well. I use all three (along with Python) at my day job. I’m also somewhat familiar with Haskell, D, Objective C, and Perl. I used to use Perl a lot at my previous job, but I never enjoyed it and I don’t remember much of it now. My favourite language by far is Python, but C is in a firm second place. I’m familiar enough with its pitfalls that I know when I don’t know something, and where to look it up. I’m also under no illusions about its drawbacks, and would be quite happy if everybody moved to more memory-safe languages. Modern C++ — at least the set of features we’re encouraged to use at work — is also growing on me. The main issue I have with C++ is that it has so many features you shouldn’t use. At work we have a lot of tooling to help us make those choices, which greatly improves the C++ experience.

Thanks for doing the interview, Thomas!

The rest of the post PyDev of the Week: Thomas Wouters appeared first on The Mouse Vs. The Python.

PyDev of the Week: Sebastián Ramírez | The Mouse vs The Python

PyDev of the Week: Sebastián Ramírez | The Mouse vs The Python

This week we welcome Sebastián Ramírez (@tiangolo) as our PyDev of the Week! Sebastián is the creator of the FastAPI Python web framework. He maintains his own website/blog which you should check out if you have some free time. You can also see his open source projects there. You can also see what projects he is contributing to over on Github.

Let’s take a few moments to get to know Sebastián better!


Sebastián Ramírez


Can you tell us a little about yourself (hobbies, education, etc):
 
 
Hey! I’m Sebastián Ramírez, I’m from Colombia, and currently living in Berlin, Germany.
 
I was “homeschooled” since I was a kid, there wasn’t even a term for that, it wasn’t common. I didn’t go to school nor university, I studied everything at home. At about (I think) 14 I started fiddling with video edition and visual effects, some music production, and then graphic design to help with my parent’s business.
 
Then I thought that building a website should be almost the same …soon I realized I had to learn some of those scary “programming languages”. HTML, CSS, and JavaScript (“but!!! HTML and CSS are not…” I know, I know). But soon I was able to write a very short text, in a text file, and use it to make a browser show a button, that when clicked would show a pop-up saying “Hello world!”… I was so proud and excited about it, I guess it was a huge “I maked these” moment for me. I still feel that rush, that excitement from time to time. That’s what makes me keep loving code.
 
I also like to play videogames and watch movies, but many times I end up just coding in my free time too. I’m boring like that… 😂


Why did you start using Python?

 
At some point, I was taking several (too many) courses on CourseraedX, and Udacity. I knew mainly frontend vanilla JavaScript (Node.js was just starting), so I did all the exercises for the Cryptography, Algorithms, and other courses with JavaScript running in a browser, it sounds a bit crazy now.
 
Then I took Andrew Ng’s ML course on Coursera, it used Octave (kinda Matlab) and it taught me enough Octave/Matlab for the course, and also that learning a new language was not so terrible. But then an AI course from Berkeley/edX required Python… so I took the Python crash course that was embedded (it was just like one page). And I went into the AI course with that. I loved the course, and with it, I started to love Python. I had to read a lot of Python docs, tutorials, StackOverflow, etc. just to be able to keep the pace, but I loved it. After that, I took an MIT/edX Python course and several others.
 
And I just kept learning and loving Python more and more.

 

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

 
I’m quite fond of JavaScript as it was my first language. I have also used some compile-to-JS languages like CoffeeScript, TypeScript. I have also ended up doing quite some Bash for Linux and Docker.
 
I really like TypeScript, and now I almost never do plain JS without TS, I love having autocompletion everywhere and type checks for free. I naturally got super excited when optional type hints for Python were released as a Christmas gift in 2016. And 2 years later FastAPI came to be, heavily based on them.
 

The rest of the post PyDev of the Week: Sebastián Ramírez appeared first on The Mouse Vs. The Python.

from The Mouse Vs. The Python https://ift.tt/3ar9mhF

PyDev of the Week: Tyler Reddy | The Mouse vs The Python

PyDev of the Week: Tyler Reddy | The Mouse vs The Python

This week we welcome Tyler Reddy (@Tyler_Reddy) as our PyDev of the Week! Tyler is a core developer of Scipy and Numpy. He has also worked on the MDAnalysis library, which is for particle physics simulation analysis. If you’re interested in seeing some of his contributions, you can check out his Github profile. Let’s spend some time getting to know Tyler better!

Tyler Reddy

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

I grew up in Dartmouth, Nova Scotia, Canada and stayed there until my late twenties. My Bachelor and PhD degrees were both in biochemistry, focused on structural biology. I did travel a lot for chess, winning a few notable tournaments in my early teen years and achieving a master rating in Canada by my late teens. Dartmouth is also known as the “City of Lakes,” and I grew up paddling on the nearby Lake Banook. In the cold Canadian Winter the lake would freeze over and training would switch to a routine including distance running—this is where my biggest “hobby” really took off. I still run about 11 miles daily in the early morning.

I did an almost six year post-doc in Oxford, United Kingdom. I had started to realize during my PhD that my skill set was better suited to computational work than work on the lab bench. Formally, I was still a biol- ogist while at Oxford, but it was becoming clear that my contributions were starting to look a lot more like applied computer science and computational geometry in particular. I was recruited to Los Alamos National Labora- tory to work on viruses (the kind that make a person, not computer, sick), but ultimately my job has evolved into applied computer scientist here, and nothing beats distance running in beautiful Santa Fe, NM.

Why did you start using Python?

I think it started during my PhD with Jan Rainey in Canada. He was pretty good about letting me explore ways to use programming to make research processes more efficient, even when I might have been better off in the short term by “just doing the science.” Eventually my curiosity grew to the point where I just read one of the editions of Mark Lutz’s “Learning Python” from cover to cover. I very rarely used the terminal to test things out while reading the book—I just kept going through chapters feverishly—I suppose Python is pretty readable! I still prefer reading books to random experimenting when approaching new problems/languages, though I don’t always have the time/luxury to do so. I remember reading Peter Seibel’s “Coders at Work,” and making a list of all the books the famous programmers interviewed there were talking about.

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

During my second postdoc at Los Alamos I read Stephen Kochan’s “Pro- gramming in C.” For that book I did basically do every single exercise in the terminal as I read it—I found that far more necessary with C than Python to get the ideas to stick. I had made an earlier attempt at reading the classic “The C Programming Language” book by K&R and found it rather hard to learn from! I thought I was doing something wrong since it was described as a classic in “Coders at Work,” I think. I’ll probably never go back to that book now, but I certainly get a lot of mileage out of my C knowledge these days.

I did a sabbatical at UC Berkeley with Stéfan van der Walt and the NumPy core team, working on open source full time for a year. NumPy is written in C under the hood, so it was essential I could at least read the source. A lot of the algorithm implementations in SciPy that I review or write are written in the hybrid Cython (C/Python) language to speed up the inner loops, etc.

I’ve also written a fair bit of tcl, and I write a lot of CMake code these days at work.

Python easily wins out as my favorite language, but C isn’t too far be- hind. I have to agree with the high-profile authors in “Coders at Work” who described C as “beautiful” (or similar) and C++ as, well, something else. Indeed, the NumPy team wrote a custom type templating language in C, processed by Python, instead of using C++. That said, Bjarne did visit UC Berkeley while I was there and it sounds like C++ may be taking a few more ideas from the Python world in the future!

Thanks for doing the interview, Tyler!

The rest of the post PyDev of the Week: Tyler Reddy appeared first on The Mouse Vs. The Python.

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

PyDev of the Week: Bryan Weber | The Mouse vs The Python

PyDev of the Week: Bryan Weber | The Mouse vs The Python

This week we welcome Bryan Weber (@darthbith) as our PyDev of the Week! Bryan is a contributor for Real Python and a core developer for Cantera. If you’d like to learn more about Bryan, you can check out his website or his Github profile. Let’s take a few moment to get to know him better!

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

I am a teaching professor at the University of Connecticut, as well as the Director of Undergraduate Studies for Mechanical Engineering. This means that I focus mostly on improving the education of our undergraduate students. I teach a lot of thermodynamics and fluid mechanics courses, and I’ve developed a few Python packages to help with that.

I got my doctorate in Mechanical Engineering in 2014, also from the University of Connecticut. One of my favorite things about mechanical engineering is that it is a super broad field, covering everything from robotics to chemistry, cars and trucks to planes and rockets, and everything in between.

My hobbies are open source software, Ultimate Frisbee, and cooking. I have a daughter and I love spending time as a family. Aside from that, there isn’t much time for anything else!

Why did you start using Python?

While I was in grad school, my dissertation was focused on developing experimental data for biofuels. Originally, I wrote all of my data processing in MATLAB because that was the language I knew from undergrad. At some point, I realized that if I wanted to practice open science, that included sharing the data processing scripts as well as the raw data. Of course, MATLAB is proprietary software and is quite expensive. This means that my work would not be really open and free (as in speech).

So I rewrote everything in Python, so that I could share it all! I chose Python because another package that I wanted to use had a Python interface, and it made it easy to integrate everything together. The package I wrote for data processing is still on GitHub (it is called UConnRCMPy) although I’m not sure if anyone uses it at all.

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

I used to know FORTRAN and MATLAB pretty well, but those skills have mostly atrophied. I can read most C++ code, but can’t write it all that well. Python is by far my favorite language that I’ve learned so far. I’m also very interested to learn Julia and see how it compares!

Thanks for doing the interview Bryan!

The rest of the post PyDev of the Week: Bryan Weber appeared first on The Mouse Vs. The Python.

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

PyDev of the Week: Saul Pwanson | The Mouse vs The Python

PyDev of the Week: Saul Pwanson | The Mouse vs The Python

This week we welcome Saul Pwanson (@saulfp) as our PyDev of the Week! Saul is the creator of VisiData, an interactive multitool for tabular data. If you’d like to see what Saul has been up to, then you should check out his website or his Github profile. You can also support Saul’s open source endeavors on Patreon. Let’s take a few moments to get to know Saul better!

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

I grew up in Chicagoland in the 80s, was on BBSes in the early 90s, and IRC in college and thereafter. I’ve been once to the Recurse Center in New York, twice to Holland, and six times to Bruno’s in Gerlach, NV. I like crossword puzzles, board games, and point-and-click adventures. One day I’d like to finish my “board simulation” of the awe-inspiring mechanics inside mitochondria.

Why did you start using Python

It was for a job at a startup back in 2004. It’s really great as a scripting language, and the standard library makes most common things easy by itself, with the rest of the ecosystem providing not just one but usually about 4 different ways of doing any task, often including one that works really well. I tip my hat to all the unsung developers of Python libraries who make interfaces to other systems that *just work*. VisiData supports so many data formats simply because the richness of the Python ecosystem makes it easy.

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

I did a lot of x86 assembly as a teenager in my BBS days, and started using both C and C++ in college. I still use C on a daily basis doing embedded development for my day job. I haven’t used C++ for about 10 years, which means I’m way out of date on it now.

My favorite language, though, is an older language called Forth, which is a brilliant little system and gets you the most bang for your buck in highly constrained environments. (We’re talking kilobytes and megahertz, orders of magnitude fewer resources than most software could even dream of fitting their runtime into). The esssence of Forth is incredibly elegant, with the implementation setting things up “just so” and then everything falls into place naturally by design, with very little actual code.

Programming in Forth has encouraged me to think in very clean ways about my own code in other languages. Often if you’re looking at the VisiData source code, a particular bit of code may seem devastatingly simple and turn out to be subtly and amazingly powerful, but it wasn’t by chance. The rest of the system often has to be designed “just so” that little bit of code can be elegant. I know many modern software engineers might consider that a waste of time, but spending that effort on the core design often leads to other surprising capabilities that then just magically work

Thanks for doing the interview, Saul!

The post PyDev of the Week: Saul Pwanson appeared first on The Mouse Vs. The Python.

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