Join Our Newsletter

Using Python to Interact with Docker Containers

“You should really be looking at Vagrant” — he said while I struggled with the keyboard, as if pressing the keys harder was going to magically make it work.

I had recently completed a utility — you know, one of those things that slurp in data from some black hole in a distant corner of the universe, marries it with the structure of a different time-space continuum, and magically spawns a pretty visual representation for mere mortals to easily consume — and I was having the hardest time getting all the pieces together for a demo on a laptop running that OS (yes, that one).

My buddy was trying to point me to a system that helps provision virtual machines from a simple configuration file. A solution which was becoming common in application distribution and deployment, as well as a method to standardize development environments.

Continue reading

A Python Ate My GUI

Thoughts on the future of Python and graphical interfaces

Staring at my coworkers, already knowing the inevitability of the situation, my eyes roll as the argument starts anew:

“I told you I can write that code twice as fast, in half as many lines and they’ll be cleaner and more readable than yours will ever be! Python is awesome!” — said the one guy.

“Whatever you say, you’ll never be able to make a UI that’s half as good as this. It won’t look pretty and no one will want to use it!” — replied the other — “Probably can’t even make it run on Windows” — he mumbled to himself while walking away.

Some years ago this was a regular exchange between coworkers, and while they were mostly messing around, there was still an element of truth to it. Regardless of its capabilities, Python was mostly known as a “scripting” language — not really for graphical interfaces — and the world was still looking for a native OS feel in their GUI applications, which was not really accessible from Python without a lot of work.

Continue reading

Open Source Contributions Are Part of My Professional Development

“Boy did I spend a bunch of time organizing all my issues today” — he said while trying not to sound like a whiner — “You know… I found this neat tool yesterday that easily integrates with our repository management software. It adds project management capabilities that would save us time. Might be interesting to take a look?” — He ended his sentence with a question, something that he absolutely hates doing, a sticking point he’s had since spending a lot of time with a coworker that incessantly did that. He definitely did not want to sound insecure while talking to his manager.

The manager looks up, away from the computer screen in which he was diligently reassigning issues to their newly requested releases, and instead answers with the dreaded: “Is that tool freeware? Did you download it?”. The programmer, a lonely, isolated peon that was simply trying to make his own life easier, was definitely not expecting that response, and so he answered with the unfiltered truth (those of you that often communicate with management know what I’m talking about).

Continue reading

Cristian Medina


Founder of tryexceptpass.org and maintainer of sofi, sofi-unity3d and korv. Cris likes to write about building real world systems, their tradeoffs and the practicality of common software development practices. He also enjoys fiddling with game engines and plugging them into other technologies and programming languages.

Dustin Mendoza


Ex-robot tamer, now cloud wizard, Dustin works as a software engineer for Nvidia. Dustin likes to write on programming architecture, video game mechanics, and on ~raising~ building robots. When he isn’t creating magic in the cloud, Dustin likes to read a good book curled up next to his cat or play a brain-burning board game with his friends.

Newer posts
© Copyright 2020 - tryexceptpass, llc