Open Source

Erik Tollerud on AstroPy - Episode 32

Visit our site to listen to past episodes, support the show, and subscribe to our mailing list.

Summary

Erik Tollerud is an astronomer with a background in software engineering. He leverages these backgrounds to help build and maintain the AstroPy framework and its associated modules. AstroPy is a set of Python libraries that provide useful mechanisms for astronomers and astrophysicists to perform analyses on the data that they receive from observational equipment such as the mountain observatory that Erik was preparing to visit when we talked to him about his work. If you like Python and space then you should definitely give this episode a listen!

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • Linode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project
  • We are recording today on November 2nd, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Erik Tollerud about AstroPy
hired-logo-dark-padding.pngOn Hired software engineers & designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our special link to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.

linode-banner-sponsor-large.pngUse the promo code podcastinit10 to get a $10 credit when you sign up!

Interview with Erik Tollerud

  • Introductions
  • How did you get introduced to Python?
  • What was the inspiration to create AstroPy and what kinds of astronomical research can it be used for?
  • Can you tell us what AstroPy’s modeling functions are and give us examples of where they might be used?
  • Are there any considerations that you need to be aware of when writing software libraries for practitioners of the hard sciences that would be different if the target audience were software engineers?
  • What are some of the most interesting applications that AstroPy has been used for?
  • Are there open data sets that are available for people outside of academia to do analysis of astronomical data using AstroPy?
    • Have there been any useful discoveries made in this way?
  • Could you please tell us about AstroPy’s Virtual Observatory capabilities?
  • What are some interesting use cases for AstroPy’s Cosmological calculations?
  • Are there other libraries available that provide similar capabilities, perhaps in other languages? What makes AstroPy unique among them?
  • Can AstroPy consume data directly from telescopes and other observational apparatus?
  • The amount of data generated from observing astronomical phenomena must be immense. What are some of the tools used to manage that data and how does AstroPy interface with them?
  • How might AstroPy be used to prove or disprove the cold dark matter hypothesis?
  • What are some of the architectural choices that have been made to allow for the AstroPy library to serve as the core for a number of other add-ons?
    • Does AstroPy provide a common data format to allow for easy interoperability between the various addons?
  • I noticed that AstroPy adheres to the PSF code of conduct, as well as having adopted an enhancement proposal process modelled after PEPs. Can you explain why that is important and what kind of an impact it has had on the community around AstroPy?

Picks

Keep In Touch

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Dariusz Suchojad on Zato - Episode 31

Visit our site to listen to past episodes, support the show, and sign up for our mailing list.

Summary

Service integration platforms have traditionally been the realm of Java projects. Zato is a project that shows Python is a great choice for systems integration due to its flexibility and wealth of useful libraries. In this episode we had the opportunity to speak with Dariusz Suchojad, the creator of Zato about why he decided to make it and what makes it interesting. Listen to the episode and then take it for a spin.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email, leave us a message on Google+, or leave a comment on our show notes
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • Linode is also sponsoring us this week. Check them out at linode.com/podcastinit and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project.
  • We are recording today on October 27th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Dariusz Suchojad about Zato

Interview with Dariusz Suchojad

  • Introductions
  • How did you get introduced to Python?
  • Can you explain what Zato is and what motivated you to create it?
  • What makes Zato stand out from other service bus implementations?
  • What are some signs that someone should consider incorporating Zato into their software architecture?
  • Does zato perform well in restricted resource environments like ec2? What performance bottlenecks are common when using zato?
  • It seems that most other ESB projects are written in Java. What advantages does Python have over Java for this kind of project and in what ways is it inferior?
  • The architectural nature of ESBs are such that they form the central backbone of a software system. How have you been able to ensure an appropriate level of reliability and stability in Zato while still delivering new features and improvements?
  • What are the scalability and high availability characteristics of Zato?
  • Does zato run well using pypy?
  • For anyone wanting to use Zato, what are the infrastructure requirements for deployment?
  • What are some of the security ramifications you took into account in zato’s design?
  • What are some of the most novel uses for Zato that you have seen or heard about?

Picks

Keep In Touch

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Tom Rothamel on Ren’Py - Episode 30

Visit our site to listen to past episodes, support the show, and sign up for our mailing list.

Summary

Tom Rothamel is an embedded systems engineer who spends his free time working on Ren’Py, a visual novel engine written in Python. Ren’Py allows you to write interactive fiction experiences and deploy them across desktop and mobile platforms. By creating a purpose-built DSL for describing the interactions, users of Ren’Py can focus on crafting polished experiences without fighting through the vagaries of programming languages, while still providing access to the internals when necessary. Listen to our interview with Tom to learn more about this long-running project and what makes it so interesting.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • Linode is also sponsoring us this week. Check them out at linode.com/podcastinit and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project.
  • We are recording today on October 19th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Tom Rothamel about RenPy
Hired LogoOn Hired software engineers & designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our special link to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.

Interview with Tom Rothamel

  • Introductions
  • How did you get introduced to Python?
  • What is Ren’Py and what was your inspiration for starting it?
  • I noticed that Ren’Py supports a number of different styles of gameplay. Can you explain the differences between interactive fiction, kinetic fiction and RPGs?
  • I notice that RenPy has clearly been around a while (Some of the games for OSX are PowerPC binaries!) – what problems have you encountered maintaining such a long lived project and keeping it current?
  • What libraries does Ren’Py leverage and how did you go about selecting them to allow for cross-platform development and deployment?
  • What underlying Python graphics toolkit does RenPy use for display, and how did that choice affect RenPy’s design?
  • While reading through the quickstart in the documentation I noticed that there is a special syntax that you have created for defining the dialog and narratives. Can you explain how you created the DSL for building the storylines?
  • It feels to me like RenPy was heavily inspired by the JRPG genre and as such there are games where sex plays a prominent role(I noticed a mention of Hentai in the docs), which is less readily accepted in the west. Have you ever encountered any pushback on this issue?
  • I noticed that some of the games that were created with Ren’Py are available on the Steam platform. What elements of the Ren’Py project lend themselves to producing games with enough polish to be published on such a mainstream platform?
  • If you were just starting out today implementing RenPy, would you still use Python? Why?

Picks

Keep In Touch

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Anthony Scopatz on Xonsh - Episode 29

Visit our site to listen to past episodes, support the show, and sign up for our mailing list.

Summary

Anthony Scopatz is the creator of the Python shell Xonsh in addition to his work as a professor of nuclear physics. In this episode we talked to him about why he created Xonsh, how it works, and what his goals are for the project. It is definitely worth trying out Xonsh as it greatly simplifies the day-to-day use of your terminal environment by adding easily accessible python interoperability.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • Linode is also sponsoring us this week. Check them out at linode.com/podcastinit and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project
  • We are recording today on October 12th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Anthony Scopatz about Xonsh
Hired LogoOn Hired software engineers & designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our special link to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.

Linode Sponsor BannerUse the promo code podcastinit10 to get a $10 credit when you sign up!

Interview with Anthony Scopatz

  • Introductions
  • How did you get introduced to Python?
  • Can you explain what Xonsh is and your motivation for creating it?
  • For people transitioning to Xonsh from a shell like Bash or Zsh, what are some of the biggest differences that they will see?
  • What are some really powerful one-liners that showcase Xonsh’s capabilities?
  • What is it about Python that lends itself to this kind of a project and what are your thoughts on building something like Xonsh in another language such as Ruby or Node.js?
  • If you had to single out one killer feature that Xonsh brings to the table, what would that be?
  • Is it possible to specify which shell, such as bash or zsh, gets used in subprocess mode?
  • I started using the Xonsh shell as my daily terminal recently and have been enjoying it so far. One of the things that I have been wondering is how to hook into the completion system to provide eldoc style completion from parsing the output of help flags. Do you have any advice on where to start? Perhaps using the docopt library to handle parsing of help output and generate completions from that?
  • What are your thoughts on adding a section to the project documentation for people to list various extension modules that people can take advantage of? Or perhaps creating something along the lines of Oh my Xonsh?
  • How do bash function definitions interoperate with the Xonsh environment and functions defined in Python?
  • It seems as though there could be some potential path or compatibility issues when moving between virtual environments and having access to extension modules loaded into Xonsh. Can you shed some light on that?
  • Do you have any suggestions for people who may not have the privileges to set their own login shell but who want to try Xonsh?
  • What are some of the most interesting uses of Xonsh that you have seen?
  • What does the future hold for the Xonsh project and how can our audience help?

Picks

Keep In Touch

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Kay Hayen on Nuitka - Episode 28

Visit our site to listen to past episodes, support the show, and sign up for our mailing list.

Summary

Kay Hayen is a systems engineer from Germany who has dedicated his spare time to the creation of Nuitka, a library that will compile your Python project to C++. In this episode we talked to Kay about what inspired him to create the project, how it operates, and some of the challenges he has faced. It is a very interesting project and it has the potential to let you run your Python code in a whole new way!

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email, leave us a message on Google+, or leave a comment on our show notes
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus. Linode has also sponsored this episode and you can get a $10 credit using the link linode.com/podcastinit to try out their fast and reliable linux virtual servers.
  • We are recording today on October 6th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Kay Hayen about the Nuitka project

Hired LogoOn Hired software engineers & designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our special link to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.

Linode Sponsor BannerUse the promo code podcastinit10 to get a $10 credit when you sign up!


Interview with Kay Hayen

  • Introductions
    • German, family with 2 kids, one cat
    • Working in ATM (Air Traffic Management), tracker product
    • Systems Engineer
    • Nuitka as a hobbyist
  • How did you get introduced to Python?
    • Once was Perl “Guru”.
    • Python was getting a lot of positive press
    • Team decision to want to use readable stuff
    • CPAN was still more complete, but Python was making inroads
  • Can you describe how to pronounce the name of your project?
    • Wife Anna, Russian, Annuitka -> Nuitka
  • Can you briefly describe what Nuitka is and what your motivation was for creating it?
    • I was thinking a fully integrated and compatible compiler should be possible.
    • Why is nobody doing it?
    • I can do it.
    • I am doing it.
    • Take Python beyond current use cases.
      • Everbody currently using Python needs no compiler, or wouldn’t use it
      • Less need for time consuming C++/Python hybrid coding
      • Simple code should compile to fast code by default
      • Complex code should still work
  • On the project web site it says that Nuitka does a lot of clever things after being fed a Python project. Can you provide some details as to what some of that cleverness is?
    • Re-formulations of Python into simpler Python
      • No “class”
      • No “assert”
      • No complex assignments
    • SSA tracing
      • Attaching uses to assignments properly
        • Despite try/finally
        • Loops
      • Avoids checks for known defined/undefined values
    • Function inlining (coming)
    • Constant propagation
    • Closure variable removal
  • What is libpython and how is it used in both Nuitka and CPython?
    • Core of the Python interpreter
    • With Python VM and C interface
    • Nuitka can fall back to it
    • Avoiding it as often as we can, key to performance
  • Is there any way to provide hints to Nuitka to generate more optimized output?
    • Nuitka is yet to make a difference based on type information
    • Not yet there, but coming soonish. SSA was pre-requisite
    • PEP 484 will be unreliable type information, mostly useless
    • I want type hints that are checked at Python run time
  • What are some of the biggest challenges in generating statically compiled code from a language as dynamic as Python?
    • Python is compiled to .pyc files
    • Compatible Frame stack, cached
    • Exception handling of Python is terrible
    • CPython type system designed to be extensible
      • Extension types for functions, bound/unbound methods, generators, etc.
    • Many details to get right
  • Are there any particular Python constructs that Nuitka is unable to translate and as a corollary to that is the compilation step lossy at all or do you have some way of ensuring that the functionality of the program remains unaltered?
    • Big point, no price attached
    • Except for not having bytecode, there is nothing missing
    • No pdb support
    • Edit / run cycle is not accelerated
    • That said: PyQt (integrated), PySide (available, unmerged), wxPython (available, maybe merged) needed patches to take compiled function/method objects for function objects too
  • Are there any particular types of programs that benefit the most from Nuitka’s compilation?
    • Bindings with ctypes of cffi compile into zero overhead C calls (planned)
    • Scientific programs are the most obvious goal (float type inference)
    • CPU bound or low latency programs
  • Is it possible to feed an entire project with multiple modules into Nuitka all at once or is the standard use to perform compilation one source file or submodule at a time?
    • You give it the main program and it recurses imports according to “PYTHONPATH”
    • nuitka –recurse-all “/usr/bin/hg” supposed to work
    • Might have to give directories with program plug-ins
  • I’m curious about what led you to choose compilation to C++ for Nuitka rather than making Nuitka an LLVM back end like Numba?
    • When I started Nuitka, I was using C++0x and variadic templates
    • Wanted to make a proof of concept that compatibility and integration is feasible
    • From there, code generation got less high level to goto ridden C
  • How does Nuitka compare to projects like Numba or Cython?
    • Graceful degradation goal
    • Complete compatibility with Python whole stack
  • How does Nuitka compare to PyPy? – Kay
    • PyPy is the coolest project ever
    • Pure Python goals shared
  • How can users evaluate the performance of Nuitka – Kay
    • They currently cannot
    • Developing a tool to compare CPython and Nuitka runs
      • Based on vmprof from PyPy people
      • Identify parts of program where Nuitka is slower
      • Links to source code
    • To be done, help needed.
    • Nuitka is only starting to get to serious performance
      • Compatibility is such a high bar to take
      • C++ to C took a year (avoiding C++ exceptions)
      • SSA literally took forever

Picks

Keep In Touch

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Trent Nelson on PyParallel - Episode 27

Visit our site to listen to past episodes, support the show, and sign up for our mailing list.

Summary

Trent Nelson is a software engineer working with Continuum Analytics and a core contributor to CPython. He started experimenting with a way to sidestep the restrictions of the Global Interpreter Lock without discarding its benefits and that has become the PyParallel project. We had the privilege of discussing the details around this innovative experiment with Trent and learning more about the challenges he has experienced, what motivated him to start the project, and what it can offer to the community.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • We are recording today on September 7th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Trent Nelson about PyParallel
Hired LogoOn Hired software engineers & designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our special link to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.

Interview with Trent Nelson

  • Introductions
  • How did you get introduced to Python?
  • For our listeners who may not be aware, can you give us an overview of what Pyparallel is and what makes it different from other Python implementations?
  • How did PyParallel come about?
  • What are some of the biggest technical hurdles that you have been faced with during your work on PyParallel?
  • I understand that PyParallel currently only works on Windows. What was the motivation for that and what would be required for enabling PyParallel to run on a Linux or BSD style operating system?
  • How does Pyparallel get around the limitations of the global interpreter lock without removing it?
  • Is there any special syntax required to take advantage of the parallelism offered by PyParallel? How does it interact with the threading module in the standard library?
  • In the abstract for the Pyparallel paper, you cite a simple rule – “Don’t persist parallel objects” – how easy is this to do with currently available concurrency paradigms and APIs, and would it make sense to add such support?
    • For instance, how would one be sure to follow this rule when using Twisted or asyncio?
  • Are there any operations that are not supported in parallel threads?
  • What drove the decision to fork Python 3.3 as opposed to the 2.X series?
  • In the documentation you mention that the long term goal for PyParallel is to merge it back into Python mainline, possibly within 5 years. Has anything changed with that goal or timeline? What milestones do you need to hit before that becomes a realistic possibility?
  • Can you compare PyParallel to PyPy-STM and Go with Goroutines in terms of performance and user implementation?
  • What are some particular problem areas that you are looking for help with?
  • Assuming that it does get merged in as Python 4, how do you think that would affect the features and experiments that went into Python 5?
  • To be continued…

Picks

Keep In Touch

Dag Brattli on RxPy - Episode 26

Visit our site to listen to past episodes, support the show, and sign up for our newsletter!

Summary

Dag Brattli is an engineer with Microsoft and in his spare time he created the ported the Reactive Xtensions framework to Python in the form of the RxPy library. In this episode we had the opportunity to speak with Dag and learn more about what ReactiveX is, why it is useful and how you can use it in your Python programs. It is definitely a very powerful programming patern when manipulating data streams which is becoming increasingly common in modern software architectures.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus.
  • We are recording today on October 2nd, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Dag Brattli about the RxPy project
hired-logo-dark-padding.pngOn Hired software engineers & designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our special link to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.

Interview with Dag Brattli

  • Introductions
  • How did you get introduced to Python?
  • For our listeners who haven’t heard of it before, can you describe what RxPy is and why someone might want to use it?
  • What problem domains are best suited for using the Reactive X approach?
  • What is involved in integrating RxPy into an existing code base?
  • When should we use RxPy over asyncio or asynchronous workers like Celery?
  • What resources or tutorials do you recommend people use when trying to understand how and when to use the Reactive X tools?
  • What in particular about Python lends itself to the ReactiveX pattern, and what features of the language does RxPy leverage in particular in its implementation?
  • In what ways does the Python implementation of the Reactive X framework differ from those of other languages?
  • The project description references the use of LINQ for querying the various data streams that RxPy enables consumption of. I had always heard of LINQ in the context of traditional database queries. What makes LINQ a good choice for stream processing?
  • I mostly hear about ReactiveX in terms of UI design, but the project description seemed to indicate it was much more generally useful. What are some of the less common and more interesting problems that RxPy lends itself to solving?

Picks

Keep In Touch

uWSGI Core Developers - Episode 25

Visit our site to listen to past episodes, join the mailing list and support the show.

Summary

uWSGI is one of the most versatile application servers available. It was originally written for running Python applications and has since gained functionality to support Perl, Ruby, PHP, and more in addition to the incredible feature set. In this episode Tobias got to interview three of the core developers of this project and find out more about how the different pieces of it fit together and what its future holds.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.init. Sign up at hired.com/podcastinit to double your signing bonus.
  • We are recording today on September 22nd, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing the core developers of uWSGI (Adriano Di Luzio, Riccardo Magliocchetti, and Roberto De Ioris)

Interview with uWSGI core developers

  • Introductions
  • How did you get introduced to Python?
  • For anyone who hasn’t come across the project before, can you explain what uWSGI is and what makes it unique?
  • How did you architect uWSGI in order to allow for supporting so many different languages?
  • The feature set of uWSGI is truly incredible. Does this make the code complicated to understand and modify?
  • Can you describe some of your favorite features in uWSGI?
  • What have you found to be the most overlooked or underutilized features of uWSGI?
  • Can you briefly describe how Emperor mode works and how that can be used to handle routing between microservices?
  • Could you discuss some of the particular features UWSGI provides around load balancing?
    • Is connection draining supported?
    • Can nodes be dynamically added and removed from the pool or does the config need to be rewritten and UWSGI restarted?
  • The configuration syntax looks like it provides a very rich set of capabilities. Is it based on a general purpose programming language or is it a DSL?
  • What might be some common use cases for using UWSGI in tandem with another web server like NGINX?
  • I have read that WSGI does not get along with http/2. Are there any plans to look towards supporting that protocol in some way?
  • What new capabilities can we look forward to in the future of uWSGI?

Picks

Keep In Touch

Griatch on Evennia (Making MUDs with Python) - Episode 24

Visit our site to listen to past episodes, sign up for our mailing list and support the show.

Summary

Griatch is an incredibly talented digital artist, professional astronomer and the maintainer of the Evennia project for creating MUDs in Python. We got the opportunity to speak with him about what MUDs are, why they’re interesting and how Evennia simplifies the process of creating and extending them. If you’re interested in building your own virtual worlds, this episode is a great place to start.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • We are recording today on September 15th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Griatch about the Evennia project

Interview with Griatch

  • Introductions
  • How did you get introduced to Python?
  • Can you explain what MUDs are and what that has to do with Evennia?
  • What is it about MUDs that keeps them interesting long after the technical restrictions that led to their creation are no longer present, especially in light of 3D multiplayer games like WoW and EVE Online?
  • Can you give us a rundown of the various parts of Evennia (MUD engine, web interface, etc.) and how they fit together?
  • How does Evennia handle the fact that a MUD world is comprised of many hundreds of objects containing various properties, maintaining consistent, persistent state as players interact with them?
  • What concurrency tools or paradigms does Evennia use?
  • During the height of MUDs popularity, one highly sought after feature was the idea of being able to have players travel from one MUD instance to another, would it be possible to implement this in Evennia?
  • Has the Evennia core team given any thought to adding features to support a richer client interface? Graphical maps or the like?
  • How difficult would it be to use Evennia to interface with something like Slack or Hipchat for a company-wide MUD? Have you ever heard of someone doing something like that?
  • Are there any fully fledged running MUDs built with Evennia out in the wild?

Picks

Keep In Touch

Links

Hylang Core Developers - Episode 23

Visit our site to listen to past episodes, support the show, and sign up for our mailing list

Summary

We got the chance to talk to some of the core developers of Hylang, which is a Lisp dialect that runs on the Python VM! We talked about how it got started, how it works and why you should try it. Of particular interest is our discussion about using Hylang to backport language features, or create entirely new ones due to the power of Lisp and the Python AST (Abstract Syntax Tree). If you need to level up your Lisp knowledge, they gave us a great list of references to help out.

Brief Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • Subscribe on iTunes, Stitcher, TuneIn or RSS
  • Follow us on Twitter or Google+
  • Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+
  • I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at
  • We are recording today on August 27, 2015 and your hosts as usual are Tobias Macey and Chris Patti
  • Today we are interviewing Paul Tagliamonte, Tuukka Turto, and Morten Linderud

Interview with Hylang Developers

  • Introductions
  • How did you get introduced to Python?
  • Before we get too far along can you explain what Hy is?
  • What inspired you to create Hy?
  • What do you recommend as reference material for Python developers to gain familiarity with idiomatic Lisp?
  • What are some of the problem domains where implementation becomes easier or more elegant as a result of Hy’s LISP syntax?
  • Given the ability to create powerful macros in Lisp, could Hy be used as a way of prototyping or backporting new language features in Python?
  • What are some of the most challenging and interesting problems you encountered bringing an alternate syntax to the Python runtime?
  • While playing around with the Hy REPL I noticed that it does visual matching of parentheses when closing an expression. What other niceties have been included in the REPL?
  • What are your thoughts on adding autocompletion to the REPL as a way of encouraging discovery and exploration of the Hy language?
  • Which LISP variant is Hy most similar to, and why?
  • How does garbage collection work in Hy, and why?
  • How hard would it be to port existing LISP packages to Hy like MACSYMA or CLOS?
  • What kind of overhead in terms of runtime performance and memory usage does Hy impose? Has this been a challenge in Hy’s development?
  • What are some of the most innovative uses for Hy that you have seen or created?
  • What does the future hold for Hy?
  • I noticed that there are a large number of core contributors to Hylang and I’m curious how you determine what features to work on?

Picks

Keep In Touch