The June issue is available for download now.
Grig Gheorghiu's cover story on Pybots talks about the fantastic automation system that has been put in place to make sure new releases of Python software are as robust and stable as possible.
In the second part of his PyGame series, Terry Hancock adds some interactivity to the simple game he started building in the May issue. This tutorial is shaping up to be a great introduction for new programmers.
JC Cruz returns this month with another article on combining Python and OS X. This time, he shows us how to create a Cocoa application with PyObjC and Xcode 3.0. This is a topic I've been wanting to dig into myself for some time, so I was glad to have a chance to read his article.
And rounding out the features this month, Massimo Di Pierro introduces web2py, a relative newcomer on the web framework front. While originally designed primarily as a teaching tool, Massimo explains why that includes many features that make it attractive for rapid application development situations, too.
Our columns this month are all about the future:
Mark Mruss takes us quite literally into the
__future__ by talking about how to take advantage of some features of Python 3.0 that are already available now in Python 2.5. Jesse Noller talks with Adam Olsen about the "safe thread" project, a set of patches for the C interpreter that eliminate the Global Interpreter Lock and that may eventually be included in the Python core.
Steve Holden responds to Tim Bray's post Multi-Inflection-Point Alert by fixing his attention on a few technology trends and looking for portents in their convergence.
And finally, this issue also marks the transition as I take over from Brian Jones as Editor in Chief. I want to thank Brian for all he has done to teach me about the position and magazines in general. I'm looking forward to working with the excellent team of reviewers and editors we have put together as we continue to shape the magazine to be something we can all be proud to be a part of.
I'll give more details about our road ahead in another post, but for the time being go download the June issue and enjoy!
7 comments:
Hmm. I'm a big fan of the Pybots project, but I wonder how it can actually be described as a "fantastic automation system" which is making sure Python is "as robust and stable as possible". Has anyone noticed what Pybots looks like these days (and this isn't a short term issue - it has looked like this for months)? I've tried getting people's attention to get this fixed, but no one seems to care (or even notice).
Well, no system is perfect. I'm not sure what you mean by "what it looks like these days". Are you referring to broken builds, failed bots, or something else?
Hi Doug,
I was referring to two things. First, almost all of the slaves are offline. If they're offline, they can't test anything. Of the slaves that are online, half of the builders configured to run on them are misconfigured. Due to this misconfiguration, pybots is only testing half as many versions as it claims to be testing. These are pybots maintenance issues which presumably could be dealt with by someone with the inclination and access to the appropriate hosts. However, if no one is willing and able to maintain pybots, then it's not very useful, even if it's a great idea. Second, of the slaves that are online and the builders which are correctly configured (Python 2.6 for Django and Twisted), neither build succeeds. This is a Python development issue - Python 2.6 has changes which are incompatible with Django and Twisted. This is exactly the valuable information that pybots is supposed to be able to provide. However, for it to really have value, someone has to act on it. If the builds are left to fail for months at a time, then what's the point? Python developers need to communicate to Python application developers what the compatibility guarantees Python offers are so that the responsibility for fixing this software can land on the right people and they can address the problems.
Hope that wasn't too long winded. :)
Those are all good points. Misconfigured or offline bots don't help, and knowing about problems is only half of the point -- we have to fix them.
I assume the backwards-incompatible changes in 2.6 were publicized (the developers usually do a good job of that). If the problems by failed bots indicates a problem in the app rather than the core, then it's up to someone on the app team to fix it, no? That's not to say that we shouldn't all pitch in, but it's not the fault of pybots that it hasn't been done.
I'm not surprised that some projects haven't worried about fixing 2.6 incompatibilities, yet. I suspect "porting to 2.6" is on their roadmap, but was not a high priority before the beta was released. Maybe now that it's out, we'll see more work done in this area.
My Modifications for OS X
Mac OS X modifications:
Just edit.bash_profile (OS X) instead of .bashrc (Linux, etc.)
Make a directory in your home folder called .virtualenvs to hold all
your projects you created
$mkdir .virtualenvs
Then store your virtualenvwrapper_bashrc in some directory, I use
Scripts folder with a bash folder in it, all inside my home folder.
Then edit your .bash_profile and add:
# Setting VirtualEnv and VirtualEnvWrapper for Python
export WORK_HOME=$HOME/.virtualenvs
source $HOME/Scripts/bash/virtualenvwrapper_bashrc
Cheers,
PythonNutter
Hi, Nutter,
I was surprised you had to do anything different, since I'm on OS X, too. When I looked, I have "source ~/.bashrc" at the top of my ~/.bash_profile, so that's why. Thanks for the tip!
This conversation continues over at gossamer-threads and several of the core developers discuss the responsibility for watching buildbots, what constitutes a failure, and how to resolve some of the problems uncovered by the bots.
Post a Comment