Archive for February, 2010

The third session only was only two talks long. I decided to check out Ecommerce in Python: Introduction to Satchmo and GetPaid (#144) by Christopher Johnson and Chris Moffett. My primary reason for attending this talk is because I’ve thought that opening an online store sounds really interesting and I might be able to use the information at work since we have been doing a fair amount of online payments for various services.

Satchmo was born because a bunch of guys had girlfriends or wives who wanted to start a business. He mentioned Toys R Us Australia is using Satchmo as one of the largest companies using Satchmo, which is cool to know. Satchmo is a Django “plugin”. He said that it’s just normal Django code and over a hundred templates. The only example he showed was a screenshot that was extremely simplistic.

The GetPaid project started with a BBQ Sprint. Moffett isn’t a programmer, but more the organizer behind the project and raised support for it. GetPaid is for Plone / Zope3. Both projects are “easy to use”, “flexible” and “easy to extend”. Oddly enough, I wasn’t engaged with either of the presenters. Admittedly, I was distracted by an inane discussion on the #pycon IRC channel about the abstractness of Alex Martelli’s talk.

I had a hard time picking a second talk as there were several that I thought looked interesting. I ended up going to How Are Large Applications Embedding Python? by Peter Shinners. He seemed to be in the film or gaming industry, so he focused on software from that group that was embedding Python in their programs. The examples he covered were Maya, Nuke, Houdini and Blender. I’ve been interested in computer animation and film for a long time, but I had only heard of the first and the last of these programs. Mr. Shinners focused on how Python was embedded in each as well as their differences and similarities.  While interesting, the differences appeared to be pretty subtle to me.

Overall, this was a decent session. I learned some new things and that’s always a plus!

For Session 2, I decided to volunteer as a Session Chair, which means that I basically would introduce the speakers and try to keep them from talking too long. My first speaker was Tarek Ziade and he spoke on The State of Packaging. He spoke mostly about distutils, setuptools (easy_install) and pip during the first 15 minutes. Then he switched to various PEPs that he has supported, written or is involved with (such as PEP 314, 345, 386 and 376). The idea is to force developers to embed more information in their script’s meta-data when using distutils or something similar. He also spoke on the various problems with each distribution method. It was very interesting overall.

The second talk was How Does Enthought Distribute Packages? by Dr. Ilan Schnell. He works for Enthought and seemed quite knowledgeable on his topic, but he was also rather boring. Alas, we are all not blessed with good presentation skills. I know I’m not.

My last talk was the one I was looking forward to the most and was one of the reasons I decided to chair this session. It was done by Stani Michiels and Nadia Alramli. The talk was entitled Cross Platform Application Development and Distribution. They were the most prepared speakers that I have seen so far at this conference. For those that do not know, Stani is the creato of the Stani Python Editor (SPE) and Phatch. They used the latter in their presentation to show how to associate extensions with binaries, drag associated files onto a shortcut to run Phatch on them and various other cool tricks.

They went on to cover how to develop for Windows, Mac and Linux, the tools they use and the pitfalls to watch out for. All in all, it was very good and well received.

Other notes on being a Session Chair. I think it’s a good way to learn new things and to meet new people. However, figuring out how to use the equipment was difficult and no one else seemed to know how to do it either. If I go to PyCon next year, I hope they use the same equipment so that if I volunteer, I’ll be able to help more effectively. Overall though, it was a positive experience.

I went to three sessions in the morning: Building Leafy Chat, A Short Pinax Tutorial and Import This, that and the other thing: custom importers. If you’re interested, you can read on to see what I thought. (more…)

It’s the first official day of PyCon: Friday, February 19th, 2010. In my experience, PyCon plenaries can either be really interesting or extremely boring. I’ve rarely seen one that was in the middle. The chairman of PyCon is Van Lindberg (The Python Software Foundation’s lawyer, I think). Steve Holden was the first plenary speaker. (more…)

I was contacted this week to review a new book from Packt Publishing entitled “Python Testing: Beginner’s Guide” by Daniel Arbuckle (no relation to Garfield’s master as far as I can tell). I haven’t received the book yet, but you can read about it on their website. I also found the book on Amazon. Alas, I do not get paid if you click either of those links, so feel free to click with impunity.

If you’re interested, you can read chapter five for free. Note: that link is to a PDF.

I look forward to reviewing the book as I haven’t done a book review in quite a while. I pledge to be completely honest. If the book sucks or rocks, I’ll be sure to let you know.

I do a fair amount of technical support in addition to my software development. In our small shop, we get to troubleshoot anything that is related to technology, from networks to software to printers. I think one of the most annoying aspects is trying to get printers to work the way the user wants. Another issue is setting up printers for users that have to roam from PC to PC as a part of their job. These users usually only need the printers that are in their specific location at any given time. It’s very difficult to accommodate this type of user, especially if the PCs are being used 24/7, which is true in my case. This is where Python comes in. (more…)

A couple weeks ago, I wrote about some scripts we use at work for creating shortcuts to various programs in Windows. Well, we also push out updates to some programs which change the paths of the programs and then we need to change the user’s shortcuts to match. Unfortunately, some user’s will change the name of the shortcut which can make finding it difficult. Python makes it easy to find the shortcut I need to change though and in this article I’ll show you how to do it. (more…)

Roaming Profiles are a blessing and a curse. If the user uses the internet, their browser’s cached files will grow like mad. If the user downloads programs to their desktop or creates large Powerpoint files anywhere in their profile, then they have to be managed whenever the user logs in or out. There are several solutions to this problem: disk quotas, blocking the ability to download or put stuff in one’s profile, etc. In this article, I will show you how to exclude specific directories from the user’s profile using Python. (more…)

A few months ago, my employer needed to lock down some of our workstations to be compliant with some new software we were installing from another government organization. We needed to force those machines to lock after so many minutes elapsed and we needed to make it such that the user could not change those settings. In this article, you’ll find out how do this and as a bonus, I’ll also show you how to lock your Windows machine on demand with Python. (more…)

Almost four years ago, I was tasked with converting a Kixtart script to Python. This particular script was used to lock down Windows XP machines so they could be used as kiosks. Obviously, you don’t need Python to do this. Any programming language that can access the Windows Registry will be able to do this or you could just use Group Policies. But this is a Python blog, so that’s what you’re going to get in this article! (more…)