« | » Main « | »

PyCon badge flags

Tuesday 28 February 2012

I'm really proud of how Boston Python has grown in the last year. We have over 1750 members, making us (I think) the largest local Python user group in the world.

I wanted a way for all of the Boston people to identify themselves at PyCon. My first thought was naturally t-shirts, but they're complex to make, and then people have to buy them, and you'd only wear it on one PyCon day (I hope!), and some people don't like wearing t-shirts in the first place. So that didn't happen.

Then I thought about simple stickers for the badge holder, but I didn't know this year's badge design, so I didn't know how big I could make a sticker so that it wouldn't obscure the name.

So how about a sticker that hangs off the side of the badge? Kind of like the "Speaker" flags on the bottom. So I designed these:

PyCon badge stickers

They hang off the left side of the badge, and can be printed at home for procrastinators like me. Hopefully, the folding instructions make sense to people. Maybe it will catch on, and other tribes will make flags for their members to wear.

I'll have a bunch of them with me at PyCon, if you need one, just ask!

Cog 2.3: Python 3 plus a few extras

Monday 27 February 2012

PyCon is nearly upon us, which means I am preparing slides for my talk, which means I am using Cog again. Cog runs bits of Python code in a text file, and interpolates the output of the code into the file. It's useful for writing small programs to augment text, in this case, to produce code output in my HTML file.

This year I needed some Python 3 examples, so the biggest change in Cog v2.3 is that it is runnable on Python 3. I also took the opportunity to drop support for Pythons older than 2.6.

Having both Python 2 and Python 3 examples in one file means I need to run it through Cog twice, once under each version of Python. But when running in Python 2, I need the Python 3 examples to stay as they are. So I added a new attribute to the cog module, cog.previous. This is simply a string containing the output from the last run of Cog. A code chunk can now decide to "do nothing" simply by outputting cog.previous.

A few other mini-features are in: a dash as a file name means process standard in, and Cog can be run as "python -m cogapp," which helped my 2 vs. 3 switcheroo.

Enjoy Cog 2.3.

Linotype

Tuesday 14 February 2012

I saw Linotype, the Film last night, and thoroughly enjoyed it. It's ostensibly about the Linotype machine, the first real improvement in printing technology since Gutenberg. But it's also about the people who are still devoted to this marvel, well after it has been supplanted by digital technology, and a quirky and entertaining bunch they are.

I heard about the movie when I went to the Boston Printing Office auction last year. The Linotype movie guys were there filming, and a number of shots from there are in the finished film, though I am not...

Afterwards, there was a Q&A panel with local interviewees from the movie, including the type designer Matthew Carter, who had designed faces for Linotype. He made an interesting comment about the freedom type designers enjoyed once the technology transitioned from metal to photo-typesetting. For example, the Linotype combined roman and italic, or roman and bold, so that the letters of each had to be the same width, a difficult constraint given the inherent differences between the three styles. Another constraint lifted was the need for the symbol to remain within its set-width, a release which enabled liberated scripts like Carter's Snell Roundhand.

I found the technological implications of the machine, its rise, and its demise, fascinating. Design is never completely unencumbered, it's always working within contemporary technological constraints.

I went looking today at other information about the machine itself, and found this extremely detailed instructional video about the workings of the Linotype, part 1, and part 2. It is awe-inspiring how intricate the Linotype was, and how many different functions had to be bundled into this one machine. There's even a small part involving binary numbers: the matrices are binary coded to deliver them back to the proper place in the magazine.

I think about the intricacies of the "machines" I build, and wish that I could lay them out the way these videos lay out the operation of the Linotype. Software has layers upon layers, which seems like a barrier to simple explanations, but if the Linotype can be explained like this, I'm sure software can be described more clearly also.

All in all, I've been thinking about the movie a lot. All I can say is, If you get a chance to see Linotype, the Film, do it.

« | » Main « | »