Exploring Color Theory In Python With Thomas Mansencal - Episode 160

Summary

We take it for granted every day, but creating and displaying vivid colors in our digital media is a complicated and often difficult process. There are different ways to represent color, the ways in which they are displayed can cause them to look different, and translating between systems can cause losses of information. To simplify the process of working with color information in code Thomas Mansencal wrote the Colour project. In this episode we discuss his motiviation for creating and sharing his library, how it works to translate and manage color representations, and how it can be used in your projects.

linode-banner-sponsor-largeDo you want to try out some of the tools and applications that you heard about on Podcast.__init__? Do you have a side project that you want to share with the world? Check out Linode at linode.com/podcastinit or use the code podcastinit2018 and get a $20 credit to try out their fast and reliable Linux virtual servers. They’ve got lightning fast networking and SSD servers with plenty of power and storage to run whatever you want to experiment on.


GoCD is the on-premise open source continuous delivery server created by ThoughtWorks and modeled after the ideas in the Continuous Delivery book by Jez Humble and David Farley.

With GoCD’s comprehensive pipeline modeling, you can model complex workflows for multiple teams with ease. And GoCD’s Value Stream Map lets you track a change from commit to deploy at a glance.

GoCD’s real power is in the visibility it provides over your end-to-end workflow. So you get complete control of and visibility into your deployments, across multiple teams.

Say goodbye to deployment panic and hello to consistent, predictable deliveries.

To learn more about GoCD, visit gocd.org for a free download. Professional Support and enterprise add-ons, including disaster recovery, are available.


When your website experiences an error, Airbrake alerts you in real-time, and gives you all the details you need to fix the bug fast. Some of the most useful tools that Airbrake provides for faster resolution are:

  • Exception aggregation to understand the how many users are being affected, so that you can prioritize the work you are doing to have the biggest impact
  • Contextual information to understand how certain states of the application contribute to the exception being raised, and which environments are affected
  • Deployment tracking so that you can easily see whether a new feature is the source of an error
  • Integration with all of the other tools that you use, such as automatically creating issues in GitHub and linking to the line of code where the error came from

Right now, Podcast.__init__ listeners can try Airbrake free for 30 days, plus get 50% off the first 3 months on the Startup plan. To get started, visit airbrake.com/podcastinit today.


Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute.
  • Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.
  • To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • Your host as usual is Tobias Macey and today I’m interviewing Thomas Mansencal about Colour, a python library for working with algorithms and transformations to explore color theory

Interview

  • Introductions
  • How did you get introduced to Python?
  • What is color theory?
    • How does Colour assist in the process of working with some of the practical applications of colour science?
  • What was your motivation for creating Colour?
  • What are some example use cases for colour?
  • One of the aspects of color in digital environments that is often confusing is the number of different ways that it can be represented. What are the relative benefits of things like RGB, HSV, CMYK, etc.?
  • How is the Colour library architected and how has that evolved over time?
    • Are there new developments in the area of color theory that need to be periodically incorporated into the library?
  • What have you found to be some of the most often misunderstood aspects of color?
  • What have been some of the most difficult or frustrating aspects of building, maintaining, and promoting Colour?
  • What are some of the most interesting or unexpected uses of Colour that you have seen?
  • What are your plans for the future of Colour?

Keep In Touch

Picks

Links

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

Start the discussion at https://discourse.pythonpodcast.com