Progress update on python-gotalk

Friday, February 06 2015

As covered in a previous post, I’ve been tinkering with a Python implementation of the fledgling Gotalk. Since this has been fun to play with, I figured it’d be worth sharing where python-gotalk is, and what has happened with it in the last two weeks.

Upstream gotalk progress

Rasmus has created a new protocol v1 branch in the Gotalk repo, where all of the new hotness is landing. A few hilights:

  • Request IDs have grown from three bytes to four in response to requests for more potential permutations.
  • A new ProtocolError message type was added. This is sent when a peer doesn’t understand the protocol version specified by the sender. While I haven’t seen any specifics on how potential downgrades may work, this could conceivably be used to handle that in the future (maybe?). It is not clear if gotalk is striving for any kinds of backwards compatibility between protocol versions, so that’ll be something to watch.
  • The Go and JS example client/servers have progressed quite a bit.

python-gotalk updates

At this point in time, we should be current with the gotalk v1 branch wire format (as of the night of Feb 6). I haven’t started on any socket/state tracking stuff, and probably won’t until v1 is mostly solidified.

However, I’ve thought about keeping python-gotalk focused on just the message marshalling/unmarshalling. The socket/state tracking code will differ quite a bit depending on whether you are using Twisted, asyncio, Tornado, etc. It’d also mean that python-gotalk could avoid all external dependencies.

We’ll continue tracking the Gotalk v1 branch and see how it goes!

python-fedex 1.1.0 released

Thursday, February 05 2015

I am pleased (and somewhat embarrassed) to release python-fedex 1.1.0! Pleased in that these changes have been patiently waiting for PyPi for a few years now, embarrassed in that I’ve let the project sit since I stopped using it more than five years ago. Let’s re-visit ...

read more

Why you should donate to the Django fellowship program

Friday, January 23 2015

Cheerleading/peer-pressuring the masses to pitch in for the Django Fellowship program.

read more

Let’s play: python-gotalk

Friday, January 23 2015

A recent HackerNews post announced Gotalk, a simple bidirectional protocol. I can imagine your collective eyeballs rolling. "Oh great, yet another half-baked way for… things to talk to one other". But keep following along, maybe you’ll see something you like. Here are some highlights:

  • By Rasmus Andersson - You may ...
read more

python-colormath 2.1.0 released

Sunday, January 11 2015

python-colormath 2.1.0 has landed, bringing with it some excellent new features and bug fixes. See the release notes for a more detailed look at the changes.

The headlining feature is the replacement of our hardcoded conversion tables with NetworkX-based resolution of color conversions (courtesy, Michael Mauderer). Color ...

read more

Networked, multi-container image crawling with Docker and fig

Saturday, January 10 2015

An example of a networked, multi-container image crawler using Docker and fig.

read more

python-colormath 2.0 released!

Saturday, May 03 2014

python-colormath was started back in 2008, when I was an undergraduate at Clemson University (Go Tigers!). While there are a good number of people out there making use of the module effectively, there were a lot of things I wanted to do differently in an eventual 2.0 release. There ...

read more

Fabric task for notifying New Relic of a code deploy

Monday, February 11 2013

A brief example Fabric task for notify New Relic of code deploys.

read more

Switched to Pelican

Sunday, February 10 2013

For the last four years, my blog has been powered by Django. As I have found myself becoming more and more busy, I have stopped wanting to hassle with keeping things up to date on the server and the application.

After a weekend of tinkering and conversions, I’m now ...

read more

Ansible first impressions

Friday, February 08 2013

After brief visits with Puppet and Chef for config management, I’ve set my sights on Ansible. It’s late and I’ve been staring at this stuff for way too long today, but here are some early observations:

  • I really like that it is written in Python. Puppet and ...
read more