Since Holden Web has a modest interest in the Icelandic economy it's nice to see a major competitor's decision to unleash their draconian rapacious capitalist instincts has met with a swift kick in the gonads by way of a prompt reply.
Making design decisions about Icelandic markets in Redmond is like making design decisions about Europe in Detroit, say. Now major resellers in Iceland are realizing that the local market trusts them far more than Microsoft to say what's best for the Icelandic markets. And why wouldn't it? Unsurprisingly the vendors now prefer open source, so more revenue stays in Iceland.
Hey, Icelandic guys, welcome to the open source community. What's more you an train a generation of open source programmers who understand Icelandic. This could even help the long-term survival of the Icelandic language itself.
March 10, 2009
Congrats to Simon Willison
Simon tweeted recently to announce that the launch of the Guardian Open Platform appeared to have gone well. Clearly this is a newspaper management that "gets it", and the service looks fascinating from a technical point of view.
I am hoping to find out how easily information services can be built on this content.
The Guardian is one of the things I miss from back home. During my time back in Scotland it became a real pleasure to drop in at the newsagents near the station for a copy of The Guardian. So now I can at least get the content.
Congratulations, Simon! I am really looking forward to hearing about this development project at PyCon in a couple of weeks. Or at EuroPython later this summer
I am hoping to find out how easily information services can be built on this content.
The Guardian is one of the things I miss from back home. During my time back in Scotland it became a real pleasure to drop in at the newsagents near the station for a copy of The Guardian. So now I can at least get the content.
Congratulations, Simon! I am really looking forward to hearing about this development project at PyCon in a couple of weeks. Or at EuroPython later this summer
The Guardian Goes Open

So, some newspapers do appear to "get" the open source phenomenon. I linked recently to Washington Port open source software and now in the UK a national daily newspaper has opened access to its content. Hooray for the Guardian! Though I think you'll find if you look at the top left that they have made a typographical error in their masthead
Nice to see a Python application advertising on the Open Platform site. [Edited after correction from Simon Willison] Of course the Open Platform application is in Java/Spring. The client-side application, however, is in Python. So that gives anyone who already knows Python (say, the growing army of Google App Engine programmers) a head start.
Get to it, Python tribe!
March 8, 2009
Python Success Story Graphics Wanted
Andrew Kuchling points out today that he has a patch ready for testig that would allow us to see different Python success stories (typically but not necessarily links to stories featured in the python.org success stories). The idea appears to be to supplant the space walker with other images from the righ and varied world of Python applications.
The format is 240 x 90 pixels, so look over the success stories and see what you can concoct. Below are three that I did with simple screenshot techniques using SnagIt (tm).
Can you do as well, or better? This could brighten up the home page a bit ...


The format is 240 x 90 pixels, so look over the success stories and see what you can concoct. Below are three that I did with simple screenshot techniques using SnagIt (tm).
Can you do as well, or better? This could brighten up the home page a bit ...


March 5, 2009
Been Busy Lately
Amused to notice just now I am 2740 messages behind on django-users. That list is a firehose!
February 25, 2009
Free Python Training
Free training worth $1,195? Yes, it's true, though naturally this offer isn't just for anyone. But if you want to learn Python for nothing and you are (or can be) close to Washington DC next week, this could be your chance.
I'd like to spread Python even further throughout the open source world, and Holden Web is running a three-day Introduction to Python class with open places next week (Tuesday March 3 to Thursday March 5). If you are a contributor to an existing open source project then please contact me to confirm your place.
That's it. The only requirement is that you must have already made public contributions to some open source project. My decision on who gets free places is final and I reserve the right to accept or refuse any application. The number of free places is limited. If you need accommodation that will be your responsibility. To thank you for your open source work Holden Web will even provide your course notes, and a free lunch each day of class.
Pythonistas: if there's anyone in the open source world you'd like to learn Python, please let them know about this possibly one-time-only offer.
If anyone would like to buy a place on the class, of course, we'll be happy to accommodate you there too! Just click the handy dandy buy now button on the courses page to get started!
I'd like to spread Python even further throughout the open source world, and Holden Web is running a three-day Introduction to Python class with open places next week (Tuesday March 3 to Thursday March 5). If you are a contributor to an existing open source project then please contact me to confirm your place.
That's it. The only requirement is that you must have already made public contributions to some open source project. My decision on who gets free places is final and I reserve the right to accept or refuse any application. The number of free places is limited. If you need accommodation that will be your responsibility. To thank you for your open source work Holden Web will even provide your course notes, and a free lunch each day of class.
Pythonistas: if there's anyone in the open source world you'd like to learn Python, please let them know about this possibly one-time-only offer.
If anyone would like to buy a place on the class, of course, we'll be happy to accommodate you there too! Just click the handy dandy buy now button on the courses page to get started!
February 24, 2009
How Marketing Sucks (pt. 117)
I came across this interesting (but sadly totally predictable) little snippet in a marketing blog (which, to be fair, did point out that this technique is appalling) today. Apparently Jenny lives in Brooklyn, NY.
But wait, there's more, she also lives in Pensacola, FL:

Make user geolocation possible and marketers will use it to add false appeal to advertising claims by pretending to have local consumers using their products. No wonder that marketers are held in such high esteem.
The web used to be a place of wonder. Now, sadly, much of it is about as interesting as commercial television. I wonder if a lobotomy would help (me, that is)?
But wait, there's more, she also lives in Pensacola, FL:
Make user geolocation possible and marketers will use it to add false appeal to advertising claims by pretending to have local consumers using their products. No wonder that marketers are held in such high esteem.
The web used to be a place of wonder. Now, sadly, much of it is about as interesting as commercial television. I wonder if a lobotomy would help (me, that is)?
Would You Buy Training on eBay?
We have spare places on next week's Introduction to Python class, and given that our costs are covered I am thinking of offering the remaining places with a fairly low reserve on eBay. Is this a good idea?
February 21, 2009
Last Day For PyCon Early Bird Pricing!
Remember that today (Saturday February 21) is the last day you can register for PyCon at early bird prices. Even at the full rates it's a bargain, but for sheer value the early bird pricing is perhaps the best value technical conference in North America.
So go do it now. Not only is PyCon excellent technically, the Python community is one of the most friendly and welcoming crowds around. Come and find out what all the fuss is about!
So go do it now. Not only is PyCon excellent technically, the Python community is one of the most friendly and welcoming crowds around. Come and find out what all the fuss is about!
February 17, 2009
Sell the Sizzle, Not the Sausage
I was pushed into thinking about open source adoption by another thoughtful Seth Godin blog post today. Seth points out that decisions are not always made in the way we'd like to think they are. We know that open source makes sense, but people still refuse to adopt it for what we in the open source world tend to consider irrational reasons. But of course a) people aren't always rational, and b) even when they are, they have motivations we may be unaware of, or (more likely) paying insufficient attention to.
This brings up a point that's commonly known in the commercial sales world and almost completely ignored by the open source community. We focus way too much on the wonderful feature set of our "products", and nowhere near enough on the needs of our "customers". So when you visit python.org for your first introduction to the language, you learn
In fact I like that blurb so much it's going straight into the Holden Web Python training page! I just know that someone properly trained in marketing could do much, much better. If the goal is to get more people to adopt Python, what's wrong with using the best techniques from the proprietary world and bending them to our own ends?
This brings up a point that's commonly known in the commercial sales world and almost completely ignored by the open source community. We focus way too much on the wonderful feature set of our "products", and nowhere near enough on the needs of our "customers". So when you visit python.org for your first introduction to the language, you learn
Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.The potential adopter isn't bothered about the features of open source software, they need to know the benefits. In other words, what's in it for them? A first-cut rework might read
Python lets you get more programming done faster, and helps you integrate your systems more effectively. You can train your existing programmers to use Python and see almost immediate gains in productivity and lower expenditures on maintenance.Now I don't claim to be a marketing professional, but even I can see that this addresses the problems of the user more directly than the current text. A lot of open source people see the word "marketing" and shriek because they perceive it as being intimately connected with the world of proprietary products and commercial licensing. Which it is, but it doesn't have to be. There's no reason at all why open source and free software shouldn't take a page from the proprietary book and start marketing itself more aggressively.
In fact I like that blurb so much it's going straight into the Holden Web Python training page! I just know that someone properly trained in marketing could do much, much better. If the goal is to get more people to adopt Python, what's wrong with using the best techniques from the proprietary world and bending them to our own ends?
February 15, 2009
Help Publicize PyCon
It's going to be difficult to get PyCon to exceed last year's numbers given the parlous state of the economy. One way you can help is to make yourself a part of its publicity campaign. The organizers have just come up with some great badges. Put them on your blog, use them in your email sigs, add them to your web sites, and most of all don't forget to actually link them to the PyCon site!
February 13, 2009
Impress Me ...
Dear Lazy Web:
I've created a presentation for PyCon and I want to publish it as a PDF. Open Office seems like the best bet (yes, I created in it PowerPoint, but I did have my reasons, honest).
Unfortunately I can't seem to find a way to get Impress to produce a PDF containing only the notes pages (each slide with its notes underneath); it insists on putting all the slides in before it starts on the notes pages. This is probably just some UI aspect that I am unfamiliar with and can't find. But it would be really nice to know how to do this.
So, PowerPoint slides to PDF, what's my best path without involving more proprietary software?
regards
Steve
I've created a presentation for PyCon and I want to publish it as a PDF. Open Office seems like the best bet (yes, I created in it PowerPoint, but I did have my reasons, honest).
Unfortunately I can't seem to find a way to get Impress to produce a PDF containing only the notes pages (each slide with its notes underneath); it insists on putting all the slides in before it starts on the notes pages. This is probably just some UI aspect that I am unfamiliar with and can't find. But it would be really nice to know how to do this.
So, PowerPoint slides to PDF, what's my best path without involving more proprietary software?
regards
Steve
February 12, 2009
Seven Year Itch?
Today is the seventh anniversary of this blog. I don't know how many people were blogging back then, but there sure are a hell of a lot more now!
Gmail Labels Google Alerts as Spam
I wondered a while ago why I wasn't seeing my Google alerts, and discovered today that's because Gmail is throwing them away as spam. I don't remember ever doing anything that might have triggered such behavior. Left hand, meet right hand ...
Blogger UI Mistake?
From the Blogger help database here's a list of keyboard shortcuts:
- control + b = Bold
- control + i = Italic
- control + l = Blockquote (when in HTML-mode only)
- control + z = Undo
- control + y = Redo
- control + shift + a = Link
- control + shift + p = Preview
- control + d = Save as Draft
- control + p = Publish Post
- control + s = Autosave and keep editing
- control + g = Indic transliteration
PyCon Open Space Session Idea
I just saw Mark Cuban's Open Source Funding blog post (as many interesting ideas do, this one came my way via Seth Godin). If anyone in the Python world is looking to fund new ideas then this might be worth looking at, given that they will already have a predisposition to open source anyway. So here's an idea for a PyCon session.
Get together in an Open Space room with a few like-minded individuals and see if you can't come up with a plan for a real cash-generating business that Cuban would fund. As far as I can see from the first 684 responses there's still a lot of room for real business plans. If you need cash this would be a good way to get it, and who knows - you might find a way of getting the business off the ground without cash, thereby avoiding the need to hand over a chunk of your equity!
If you are looking for a way to start a new business it's hard to think of a better pool of Python talent than the one that congregates at PyCon every year. As far as ideas goes, PyCon might also be a good place to collect those. Most of these aren't computer-related, but here's a list of 999 business ideas that anyone could consider. Why shouldn't the Python world have a similar list?
Get together in an Open Space room with a few like-minded individuals and see if you can't come up with a plan for a real cash-generating business that Cuban would fund. As far as I can see from the first 684 responses there's still a lot of room for real business plans. If you need cash this would be a good way to get it, and who knows - you might find a way of getting the business off the ground without cash, thereby avoiding the need to hand over a chunk of your equity!
If you are looking for a way to start a new business it's hard to think of a better pool of Python talent than the one that congregates at PyCon every year. As far as ideas goes, PyCon might also be a good place to collect those. Most of these aren't computer-related, but here's a list of 999 business ideas that anyone could consider. Why shouldn't the Python world have a similar list?
February 9, 2009
PSF Policy Neither Stickist nor Hattist
While I could not go so far as to say that some of my best friends are hat-wearing stick-people, I would like to vociferously reject any suggestion that the Python Software Foundation is in any way stickist or hattist. The recent PyCon blog entry was not approved in advance by the PSF Board, and can in no way be said to represent the views of anyone but the PyCon organizers.
If I had my way these people would end up talking to the PSU before
If I had my way these people would end up talking to the PSU before
Do Not Visit xkcd
In a not-usually-required follow-up post to my original note [translation: "somebody appears to have read one of my posts"] I have to express in the strongest terms my support of the PyCon organizers' policy vis a vis Randall Munroe and urge both my readers to under no circumstances visit the primary source of this poison at xkcd.org. Some of the material there is such that no sensible person would ever consider publishing a link to it, let alone two.
Some of this material is of an adult nature. You have been warned.
Some of this material is of an adult nature. You have been warned.
Randall Munroe Banned from PyCon
Wow, this will get tongues wagging! As PSF chair I hardly know what to make of this.
February 5, 2009
Teach Me Web Testing
Thanks to Grig Gheorghiu for agreeing to involve the web testing community in my up-coming Open Space Teach Me Web Testing session at PyCon in March. Thanks also to Doug Napoleone, who has done his usual excellent job on the PyCon web site and has harnessed a bit of Google technology to provide a web page that allows you to add topics to a list and to vote those topics up and down. The session will attempt to address the user-provided and -prioritized issues in more or less the order they eventually end up on that list.
This session is inspired by last year's Teach Me Twisted, where the Twisted community generously came along and tried to educate me about their excellent asynchronous networking software.
I have no idea how this year's session could be as much fun as last year's, but I am going to do my best to enjoy it even though it's rather intimidating facing a room with no real plan as to how the session is going to proceed (except for the knowledge that one's ignorance will be the focus of the event). Just the same I hope everyone with an interest in web testing will come along, have a little fun and hopefully learn something too.
This session is inspired by last year's Teach Me Twisted, where the Twisted community generously came along and tried to educate me about their excellent asynchronous networking software.
I have no idea how this year's session could be as much fun as last year's, but I am going to do my best to enjoy it even though it's rather intimidating facing a room with no real plan as to how the session is going to proceed (except for the knowledge that one's ignorance will be the focus of the event). Just the same I hope everyone with an interest in web testing will come along, have a little fun and hopefully learn something too.
February 3, 2009
On the Take?
While we're at it, what about politicians like Tom Daschle, who now says he's "deeply embarrassed and disappointed" about his failure to pay more than $120,000 in taxes. Seems to me that being a senator should be a full-time job or, if not actually full-time, it should keep you busy enough to preclude your earning $5.2 million advising people in the industries the government is supposed to be regulating. [UPDATE: Daschle earned this money after standing down as a senator].
I believe Daschle is Obama's poorest pick yet, and this choice of nomination for the head of Health and Human Services seriously threatens to undermine Obama's credibility. Even ignoring the fact that the guy might (or might not) be a tax cheat ("What, you want me to join the cabinet? Damn, I'd better undo a few lies") Daschle owes the health services industry a lot, and he's unlikely to turn and bite the hand that's fed him once he joins the cabinet.
So think again, President Obama and the Senate Finance Committee. This is one nomination that shouldn't be confirmed. Let Senator Daschle retire on his nest-egg and let's see whether we can't actually give the Office of Government Ethics some teeth. Or maybe $5.2 million isn't enough ...
I believe Daschle is Obama's poorest pick yet, and this choice of nomination for the head of Health and Human Services seriously threatens to undermine Obama's credibility. Even ignoring the fact that the guy might (or might not) be a tax cheat ("What, you want me to join the cabinet? Damn, I'd better undo a few lies") Daschle owes the health services industry a lot, and he's unlikely to turn and bite the hand that's fed him once he joins the cabinet.
So think again, President Obama and the Senate Finance Committee. This is one nomination that shouldn't be confirmed. Let Senator Daschle retire on his nest-egg and let's see whether we can't actually give the Office of Government Ethics some teeth. Or maybe $5.2 million isn't enough ...
Jobs for Life?
One question I have to ask about the financial world. The largest financial organization in the world have clearly been managed by people who have failed to take to heart the lessons of Fooled by Randomness. In fact they don't even seem to be aware that the past does not always allow you to predict the future, except when their undertakings need billions of dollars and suddenly become "too big to fail".
So how come these people are still in their jobs? I think we can do without the Gordon Gekkos in Wall Street and the City, thank you very much. If they won't do the work without being paid huge bonuses perhaps it's time to look for people who know what "enough"means.
There's been a suggestion that nobody in one of the banks that the US government has recently invested heavily in should earn more than the US President ($400,000 when Bush was in office). I think that's a great idea. If the fat cats won't take a pay cut, let them find better-paid work elsewhere.
So how come these people are still in their jobs? I think we can do without the Gordon Gekkos in Wall Street and the City, thank you very much. If they won't do the work without being paid huge bonuses perhaps it's time to look for people who know what "enough"means.
There's been a suggestion that nobody in one of the banks that the US government has recently invested heavily in should earn more than the US President ($400,000 when Bush was in office). I think that's a great idea. If the fat cats won't take a pay cut, let them find better-paid work elsewhere.
January 28, 2009
PyCon Tutorial: Terrific Response
I've just seen the statistics sent out after the day one signups for PyCon tutorials, and Python 401: Some Advanced Topics already has eight signups! Thanks very much to everyone who has shown so much confidence in this tutorial. If there are specific points you'd like to make about your expectations of the session then please let me know here.
Ken Whitesell has already made one suggestion, which I am going to try and adopt. Thanks for the feedback, Ken.
Ken Whitesell has already made one suggestion, which I am going to try and adopt. Thanks for the feedback, Ken.
Google Groups Plus
OK, I have tired of having ideas that I never get around to implementing, so I am going to take a page out of Seth Godin's book and just write this thing up so somebody with more time and inclination can get rich from doing it. Or at least provide a service to people who could use it.
It's time that Google Groups (or at least some of them) were available via NNTP. Sure, I can use the somewhat quirky and always less than satisfactory web interface that Google provide. Or I could set the groups I am interested in to deliver the posts via email. But an NNTP client would just be so much more convenient and usable. So what we need is a system that scrapes Google Groups and offers NNTP access to the resulting content.
There is, of course, the minor issue of Google's terms of service. The most significant part says:
I know there are people in the Python world who could put this together in under a week.
While I am dealing in quirky ideas, here's another one, in this case to monitor (and hopefully control) spending on government credit cards. Could this work?
It's time that Google Groups (or at least some of them) were available via NNTP. Sure, I can use the somewhat quirky and always less than satisfactory web interface that Google provide. Or I could set the groups I am interested in to deliver the posts via email. But an NNTP client would just be so much more convenient and usable. So what we need is a system that scrapes Google Groups and offers NNTP access to the resulting content.
There is, of course, the minor issue of Google's terms of service. The most significant part says:
Google authorizes you to view and download a single copy of the Materials solely for your personal, non-commercial use. You may not sell or modify the Materials or reproduce, display, publicly perform, distribute, or otherwise use the Materials in any way for any public or commercial purpose without the written permission of Google. Special rules may apply to the use of certain software and other items provided via the Services, and are noted where appropriate.So we will have to persuade Google not to be evil - I imagine they will be upset not to be able to insert advertising in the stream, but if they did that wouldn't be Usenet, now would it? I would hope Google would be mindful of how they came by the archival content that started this venture in determining how to license the materials.
If you would like information about obtaining Google's permission to use any of the Materials on your Web site, please send an e-mail to groups-support@google.com.
I know there are people in the Python world who could put this together in under a week.
While I am dealing in quirky ideas, here's another one, in this case to monitor (and hopefully control) spending on government credit cards. Could this work?
January 27, 2009
Snakebite.org Announced: Get Bitten by the Python Bug!
Things are looking up! I mentioned Trent Nelson's snakebite.org in my Python Magazine column a while ago, but at that point everything was still in stealth mode, so you couldn't get much information about what was going on from the web site.
That's all over now, because yesterday Trent mailed the python-dev list to announce the forthcoming availability of the network, which far from being "a couple of clunky old boxes off eBay" turns out to be the makings of a comprehensive distributed test and development network, with hardware and software contributions from major companies, that's going to be the envy of the open source world.
I know that Trent has larger plans for snakebite.org, but on behalf of the Python community I would like to thank him (and a cast of many others) not only for his munificence but also for the incredibly hard work that's been done to bring this project to fruition.
That's all over now, because yesterday Trent mailed the python-dev list to announce the forthcoming availability of the network, which far from being "a couple of clunky old boxes off eBay" turns out to be the makings of a comprehensive distributed test and development network, with hardware and software contributions from major companies, that's going to be the envy of the open source world.
I know that Trent has larger plans for snakebite.org, but on behalf of the Python community I would like to thank him (and a cast of many others) not only for his munificence but also for the incredibly hard work that's been done to bring this project to fruition.
Posted by
Steve
at
10:19
No comments:
Labels:
development,
monty python,
network,
snakebite.org,
support,
technology
January 26, 2009
Monty Python Leads the Way
Showing the RIAA how do to it, the Monty Python team have released all their content to be freely viewed on YouTube. Guess what? Their sales on Amazon have increased over 200 times (23,000 percent).
The music industry will die before it adopts any kind of free content model, but open source has led the way and persuaded other people to try similar models. Lo, it turns out you can make a living giving things away!
So head over the the YouTube Monty Python channel and pick out your favorite sketches, but don't forget to by something.
The music industry will die before it adopts any kind of free content model, but open source has led the way and persuaded other people to try similar models. Lo, it turns out you can make a living giving things away!
So head over the the YouTube Monty Python channel and pick out your favorite sketches, but don't forget to by something.
January 22, 2009
PyCon 2009: The Magic Begins ...
I've just spent a half an hour reading the list of talks accepted for PyCon 2009. I think the Program Committee has done an excellent job this year [full disclosure: I am notionally a member of the PC, but was unable to attend any of its selection meetings] and their choices will make this the best PyCon yet.
There's information about packaging Python applications, using Stackless to speed up massively multi-player games, OpenGL graphics, testing, giving presentations (and presentation technology), scientific applications, ... you name it.
I challenge anyone with a practical interest in Python to spend three days at PyCon and not find so much of interest that they would like to be in two places at once at least some of the time. With luck the quality and quantity of video coming from this year's conference will increase once more, but watching the videos is definitely no substitute for being there.
PyCon is the most enjoyable conference I attend, and a jewel even among open source conferences. I haven't missed a single one so far, and I am not about to start this year. Be there!
[Note to speakers: every year PyCon offers help to speakers, both experienced and inexperienced, to help them be more effective presenters. Please take advantage of this facility, particularly if you are new to presenting at conferences: it can really help].
There's information about packaging Python applications, using Stackless to speed up massively multi-player games, OpenGL graphics, testing, giving presentations (and presentation technology), scientific applications, ... you name it.
I challenge anyone with a practical interest in Python to spend three days at PyCon and not find so much of interest that they would like to be in two places at once at least some of the time. With luck the quality and quantity of video coming from this year's conference will increase once more, but watching the videos is definitely no substitute for being there.
PyCon is the most enjoyable conference I attend, and a jewel even among open source conferences. I haven't missed a single one so far, and I am not about to start this year. Be there!
[Note to speakers: every year PyCon offers help to speakers, both experienced and inexperienced, to help them be more effective presenters. Please take advantage of this facility, particularly if you are new to presenting at conferences: it can really help].
January 9, 2009
United.com Fail Again
I really love this one. Forget that when I go to the main site my browser already knows how to fill the Mileage Plus number and the password in already. OK, so they are using another domain to try to get me to pay ($1,400+!) to upgrade to Premier status. This is just so wrong. Why can't I put fricking spaces or dashes in the account number if it helps me? Are they really so hard to ignore? Give me a break.Don't people realize it's this kind of obtuseness (in the middle of a journey, under great stress) that makes people go berserk? Over ten years ago I wrote some web callback software for a small but customer friendly 'phone company (with a fabulous domain name). I asked them what they wanted to do about number validation, and they just said "Throw anything away that isn't a digit". Is it really that hard for large companies like United to understand?
The ironic thing is, United are trying to sell me access to their lounges. I am sitting in Atlanta airport, waiting to fly United, and I am in the Delta lounge, because Delta take the Priority Pass that I buy annually for around $300. On the way down from DC I upgraded to first class, one of the reasons being I had plenty of time at the airport and thought it would be nice to use the lounge. Foiled again: only United international first class passengers get to use the lounge. So all I get for my $79 is a little extra legroom on a 2-hour flight. On only one occasion in the last five years did a friendly United staffer grant me access to the lounge because I was traveling with them even though I didn't have the right card with me. I will love her for ever - she treated me like a human being.
I am left wondering why on earth I bother to be a United frequent flyer. It's not that I fly that often any more, and I know all airlines suck, but I can't help feeling that United have this inbuilt self-destructive ability to suck harder than anybody else while they think they are succeeding. No wonder Untied.com is going from strength to strength. I am convinced the United management never fly incognito as economy passengers. If they did, they would realize what a crappy airline they are running.
January 5, 2009
Oldest Files Meme
Happy New Year! Brandon Rhodes started this meme, which seemed worth continuing to me.
wdp.rv is a review I wrote, probably for the Sun UK User Group magazine, of the Island Software Write, Draw and Paint tools. I've been a writer or sorts all my life, and involved with user groups quite a lot, too.
s.sch.trm is the source control master (for the venerable SCCS source code control system that used to come on Sun workstiations) of a termcap file for a Wyse-60 terminal. I suppose I could use CSSC to try and revive it, but I don't know anyone nowadays who uses Wyse-60s. I can't think of any reason why I should have kept that file except for inertia.
I hadn't realised I've been using source code control so long. Although the SCCS files for most things are no longer in evidence I used it a lot at Sun from 1985. Other gems I came across that I'd completely forgotten about include a database publishing utility from 1994 that I used to drive FrameMaker from various databases, and a system that would merge the alias files from a bunch of UUCP sites to allow the use of simple email aliases rather than the bang-ridden paths that preceded the domain name system.
An interesting exercise in nostalgia. I think I'll allow them to live a bit longer.
- Run the following script in your home directory. (You might want to use less to read the output.)
- Ignore files whose date does not reflect your own activity.
- List the oldest files in a blog post and discuss!
#!/usr/bin/env python
"""Print last-modified times of files beneath '.', oldest first."""
import os, os.path, time
paths = ( os.path.join(b,f) for (b,ds,fs) in os.walk('.') for f in fs )
for mtime, path in sorted( (os.lstat(p).st_mtime, p) for p in paths ):
print time.strftime("%Y-%m-%d", time.localtime(mtime)), path
OK, omitting some font files I bought from Adobe, here are the results:1988-02-12 ./tools/doc/classify.1The first three are manual pages for Icon programs that I wrote to handle email folders. classify filtered a mail file, ordering its messages by subject line; getmail extracted messages by number; and mailio was a primitive library used by the other utilities. Man, 21 years ago! Just in case you want to read the ancient manual pages I've linked each file name to its man2html output.
1988-02-12 ./tools/doc/getmail.1
1988-02-12 ./tools/doc/mailio.3l
1991-10-13 ./writing/wdp.rv
1992-08-10 ./chum/SCCS/s.sch.trm
wdp.rv is a review I wrote, probably for the Sun UK User Group magazine, of the Island Software Write, Draw and Paint tools. I've been a writer or sorts all my life, and involved with user groups quite a lot, too.
s.sch.trm is the source control master (for the venerable SCCS source code control system that used to come on Sun workstiations) of a termcap file for a Wyse-60 terminal. I suppose I could use CSSC to try and revive it, but I don't know anyone nowadays who uses Wyse-60s. I can't think of any reason why I should have kept that file except for inertia.
I hadn't realised I've been using source code control so long. Although the SCCS files for most things are no longer in evidence I used it a lot at Sun from 1985. Other gems I came across that I'd completely forgotten about include a database publishing utility from 1994 that I used to drive FrameMaker from various databases, and a system that would merge the alias files from a bunch of UUCP sites to allow the use of simple email aliases rather than the bang-ridden paths that preceded the domain name system.
An interesting exercise in nostalgia. I think I'll allow them to live a bit longer.
December 28, 2008
PyCon 2009 Presentations
I've just been thinking about planning for PyCon, and I have a lot to do. The tutorial schedule is a little bare right now, but I am hoping it will be fleshed out soon. There are over 30 tutorials, two of which I am involved in.
Firstly I have to write Python 401: Some Advanced Topics (not my own choice of title), which is supposed to discuss iteration, generators, descriptors and metaclasses. These are all features of Python that could stand some more explanation, but I'd like to put a twist on the material and have the audience suggest potential applications that we can discuss as a part of the tutorial.
There's a second tutorial, Python for Teachers that I'll be presenting jointly with Kirby Urner. The idea behind this one is to try and enthuse those involved with formal education about Python's potential for teaching mathematics of various kinds. Kirby has a lot of experience doing that, and I am supposed to provide irreverent questioning and keep Kirby headed in the right direction. He's the education side, I represent the geeks, if you like. I'm really looking forward to it, but I owe Kirby email about those plans.
Then I have to give an invited talk which I believe will be a plenary session, though that hasn't been confirmed yet. My working title for this is Leading the Python Tribe, in which I want to investigate the shared sense of direction in the Python community, in so far as it currently exists, and offer some thoughts about the roles of the Python Software Foundation.
I am also hoping to run an Open Space session along the same lines as last year's Teach Me Twisted, but this time looking at web testing - an area I would really like to learn more about. I think I have Grig Gheorghiu interested in helping out, but he's a busy guy and hasn't yet committed. If anyone can rope in the knowledgeable web testers we need it's Grig.
To top this all off there'll be the PSF members meeting to chair, sundry sessions in the bar, meals with friends old and new, and all the other wonderful things that happen at PyCon with absolutely no formal scheduling. So I expect to be busy, but I also expect to enjoy myself hugely. See you in Chicago?
Firstly I have to write Python 401: Some Advanced Topics (not my own choice of title), which is supposed to discuss iteration, generators, descriptors and metaclasses. These are all features of Python that could stand some more explanation, but I'd like to put a twist on the material and have the audience suggest potential applications that we can discuss as a part of the tutorial.
There's a second tutorial, Python for Teachers that I'll be presenting jointly with Kirby Urner. The idea behind this one is to try and enthuse those involved with formal education about Python's potential for teaching mathematics of various kinds. Kirby has a lot of experience doing that, and I am supposed to provide irreverent questioning and keep Kirby headed in the right direction. He's the education side, I represent the geeks, if you like. I'm really looking forward to it, but I owe Kirby email about those plans.
Then I have to give an invited talk which I believe will be a plenary session, though that hasn't been confirmed yet. My working title for this is Leading the Python Tribe, in which I want to investigate the shared sense of direction in the Python community, in so far as it currently exists, and offer some thoughts about the roles of the Python Software Foundation.
I am also hoping to run an Open Space session along the same lines as last year's Teach Me Twisted, but this time looking at web testing - an area I would really like to learn more about. I think I have Grig Gheorghiu interested in helping out, but he's a busy guy and hasn't yet committed. If anyone can rope in the knowledgeable web testers we need it's Grig.
To top this all off there'll be the PSF members meeting to chair, sundry sessions in the bar, meals with friends old and new, and all the other wonderful things that happen at PyCon with absolutely no formal scheduling. So I expect to be busy, but I also expect to enjoy myself hugely. See you in Chicago?
December 17, 2008
Sun Developer Network Podcast
It's taken quite a long time to get through the production cycle, but here's a podcast of Ted Leung and me discussing Python 3.0 migration. Something to listen to on the commute?
December 13, 2008
We're TravelNow.com, and We Fail
Don't you just hate it when an advertised email address fails? Particularly so when you've sent the email to notify a company about a problem with their web site? It's surprising how some quite large companies fail to pay proper attention to the basics, and I came across a perfect example today.
I've just booked a trip with Jet Blue, and wanted to add a car rental reservation to the booking. Let's ignore for the moment the tedium of having to enter the same details twice due to a lack of integration between Jet Blue and TravelNow, as the price of lower-cost flying. Alas, when I click the "printable version" link after completing the rental reservation I see a pop-up window saying "Unrecoverable error: if this persists please email webmaster@travelnow.com". Being a good web citizen and having a certain fellow feeling for anyone who struggles to keep the Intarweb working I dash off an email with the URL and my reservation details, only to receive the following missive:
Oh well, these things happen in the best-regulated domains, I guess. An email to postmaster should sort it out. I mean after all, RFC2821 explicitly says
so that's bound to work, right? Wrong:
So I guess the lesson here is "we don't care if there's anything wrong with our web site, and we haven't bothered testing our customer feedback channels". If this company has stockholders, they should be asking questions.
Yes, I have verified my own domain's webmaster and postmaster addresses. I thought it would be a good idea before I made this post. Can you say the same?
Edit: A colleague pointed out that I had amused her by including a typo in the email address, which I have now fixed. So I am not as good at checking the basics as I'd like to be myself ...
I've just booked a trip with Jet Blue, and wanted to add a car rental reservation to the booking. Let's ignore for the moment the tedium of having to enter the same details twice due to a lack of integration between Jet Blue and TravelNow, as the price of lower-cost flying. Alas, when I click the "printable version" link after completing the rental reservation I see a pop-up window saying "Unrecoverable error: if this persists please email webmaster@travelnow.com". Being a good web citizen and having a certain fellow feeling for anyone who struggles to keep the Intarweb working I dash off an email with the URL and my reservation details, only to receive the following missive:
Oh well, these things happen in the best-regulated domains, I guess. An email to postmaster should sort it out. I mean after all, RFC2821 explicitly saysSMTP systems are expected to make every reasonable effort to accept mail directed to Postmaster from any other system on the Internet. In extreme cases --such as to contain a denial of service attack or other breach of security-- an SMTP server may block mail directed to Postmaster. However, such arrangements SHOULD be narrowly tailored so as to avoid blocking messages which are not part of such attacks.
so that's bound to work, right? Wrong:
So I guess the lesson here is "we don't care if there's anything wrong with our web site, and we haven't bothered testing our customer feedback channels". If this company has stockholders, they should be asking questions.Yes, I have verified my own domain's webmaster and postmaster addresses. I thought it would be a good idea before I made this post. Can you say the same?
Edit: A colleague pointed out that I had amused her by including a typo in the email address, which I have now fixed. So I am not as good at checking the basics as I'd like to be myself ...
December 6, 2008
A Pythonista Lending Group?
I've finally taken the plunge and become a lender with Kiva. It got me wondering whether there might be some potential for a lenders' group in the Python world. I know from personal experience that it contains many people with philanthropic and charitable instincts. If you'd like to join in, let me know.
December 4, 2008
Python 3.0 Is Out
Even though I am on vacation this is worth a quick note. After long efforts by many developers Python 3.0 was released today!
I posted a short article a while ago about 3.0 (in)compatibility, but the differences between 2.6 and 3.0 aren't so great. It's perfectly possible to write 3.0 code that will run on 2.6 too, as most of the language hasn't changed at all.
The preferred strategy for writing code that runs on both versions is to write in 2.6 and then apply the 2to3 converter and verify that it produces a correct 3.0 program. There's no guarantee that it will, so you may need to paraphrase the 2.6 code a few times before you get a transatable program.
Once all the third-party modules you and extensions you rely on are 3.0-ready, and you no longer have clients requiring 2.6 version of your software, you can simply drop the 2.6 compatibility requirement and start to make use of the few 3.0-only constructs that have been introduced.
I posted a short article a while ago about 3.0 (in)compatibility, but the differences between 2.6 and 3.0 aren't so great. It's perfectly possible to write 3.0 code that will run on 2.6 too, as most of the language hasn't changed at all.
The preferred strategy for writing code that runs on both versions is to write in 2.6 and then apply the 2to3 converter and verify that it produces a correct 3.0 program. There's no guarantee that it will, so you may need to paraphrase the 2.6 code a few times before you get a transatable program.
Once all the third-party modules you and extensions you rely on are 3.0-ready, and you no longer have clients requiring 2.6 version of your software, you can simply drop the 2.6 compatibility requirement and start to make use of the few 3.0-only constructs that have been introduced.
December 2, 2008
Religion is not Python
About six months ago I made a post called Python is not a Religion, discussing some aspects Python advocacy in response to some comments by Doug Napoleone. About two weeks ago I see a new comment (by Jonathan) appear against that piece:
Secondly, the word "catholic" in my profile is specifically used in the sense of "free from provincial prejudices or attachments", but apparently some Catholics don't appreciate that the name of their church has a broader (and far less exclusionary) meaning, dating back to the days when you were Catholic or you were on the rack, buddy. The Catholic church is so named because it was originally the "general or universal" Christian sect. Of course Henry the Eighth laid waste to that when he started the Church of England, and as far as I can see the Christian faith has more branches than the average oak tree. Whatever.
The Association of Catholic Computer Programmers (Catholics interested in software engineering best practices) appears to be a little schizoid. Are they a social network, a religious institution, or a movement? Some of the discussions are interesting, with comments like "I think we should start a project to benefit a charity of our choosing and put our collective talents as Catholic SEs to good use", which makes me wonder what skills Catholic software engineers have that I don't.
The same guy who started ACCP has started "a pro-life network", though apparently it have only four nodes so far. There's a pretty badge people can use "to identify themselves as being pro-life". Well, of course I am pro-life. Without life I'd be nowhere, and you wouldn't be reading this drivel now. In fact I find it difficult to understand how any living being can be anti-life, with the exception of the dysfunctional. But of course there's a hidden semantic trap there: the opposite of pro-life isn't really anti-life at all, it's "murderer".
The most revelaing thing of all to me is that neither the ACCP nor the above-mentioned network are prepared to do what enabled the commenter to make his or her comment in the first place. They require sign-up to make any sort of input to their site, while my blog allows anonymous comments from anyone (though as a spam reduction measure they aren't immediately posted). So the Catholic Programmers aren't at all catholic in their approach to discussion.
I know a lot of good Christians, but I don't want to join that club. Sorry. I suppose Jonathan can only hope there's no such thing as bad publicity.
I noticed that your Blogger profile says "Catholic tastes" for your favorite music. Are you a Catholic, and would you be interested in joining the recently formed Association of Catholic Computer Programmers?Firstly, I should like to point out that I am not a member of any church. I have no interest at all in worshipping anybody else's imaginary friend, though I try (with varying degrees of success) not to make too much fun of other people's delusional belief systems. I have my own to maintain. In this case I am going to make an exception. Without my really knowing why, this particular comment got right up my nose. I suppose, now I think about it, it's the shallowness of understanding that led the person to post the comment. Google has a lot to answer for.
Secondly, the word "catholic" in my profile is specifically used in the sense of "free from provincial prejudices or attachments", but apparently some Catholics don't appreciate that the name of their church has a broader (and far less exclusionary) meaning, dating back to the days when you were Catholic or you were on the rack, buddy. The Catholic church is so named because it was originally the "general or universal" Christian sect. Of course Henry the Eighth laid waste to that when he started the Church of England, and as far as I can see the Christian faith has more branches than the average oak tree. Whatever.
The Association of Catholic Computer Programmers (Catholics interested in software engineering best practices) appears to be a little schizoid. Are they a social network, a religious institution, or a movement? Some of the discussions are interesting, with comments like "I think we should start a project to benefit a charity of our choosing and put our collective talents as Catholic SEs to good use", which makes me wonder what skills Catholic software engineers have that I don't.
The same guy who started ACCP has started "a pro-life network", though apparently it have only four nodes so far. There's a pretty badge people can use "to identify themselves as being pro-life". Well, of course I am pro-life. Without life I'd be nowhere, and you wouldn't be reading this drivel now. In fact I find it difficult to understand how any living being can be anti-life, with the exception of the dysfunctional. But of course there's a hidden semantic trap there: the opposite of pro-life isn't really anti-life at all, it's "murderer".
The most revelaing thing of all to me is that neither the ACCP nor the above-mentioned network are prepared to do what enabled the commenter to make his or her comment in the first place. They require sign-up to make any sort of input to their site, while my blog allows anonymous comments from anyone (though as a spam reduction measure they aren't immediately posted). So the Catholic Programmers aren't at all catholic in their approach to discussion.
I know a lot of good Christians, but I don't want to join that club. Sorry. I suppose Jonathan can only hope there's no such thing as bad publicity.
November 13, 2008
LodgeNet Censoring python.org?
So, here I am at this hotel, using their network to browse the web as one does, and I suddenly see this web graphic notifying me that my network access has been blocked for ten minutes because "[the] server has detected questionable traffic originating from this computer".At first I was concerned that perhaps I had unwittingly picked up some virus or other malware, so I made a call to the "support" team to see if they could tell me what was wrong with the traffic. Of course, I might as well not have bothered, since they couldn't tell me anything about why this might have happened without me being "naughty" in some undefined way. After ten minutes the service came back on again, only to be lost once more as soon as I retried a web access. So it seemed to me there was something extremely significant about the URL I was trying to access, which was actually the documentation for the PIL ImageDraw module.
A further support call elicited the information that the help desk couldn't do a bloody thing about anything, had no idea why the content was being blocked, and weren't interested in helping to change whatever bizarre piece of policy was responsible. Several times they mentioned that "the server will cut you off if you are downloading, there's nothing we can do about that", leaving me somewhat perplexed about what they thought the Internet was for, but of course I assured them that I had only been "browsing," which is apparently different.
It would have remained a curiosity had I not then received the same response when I tried to visit the Python programming language home page. Now suddenly the position is different, as I am the chairman and an officer of an organization whose web site is being subjected to censorship. So I have sent the customer service department at LodgeNet the following snotty letter. We'll see whether I get any response, but I am not holding my breath.
Sirs:
As a resident at the Town and Country Resort Hotel on San Diego, California, I have been a consumer of your company's service. Several times I have had my service blocked, seeing the attached graphic.
Calls to your customer service department elicited no useful information as to how I could stop this unwarranted blocking of my service, and the staff involved, while sympathetic, were completely unable to help (and indeed appeared to know nothing at all about the policy responsible for this). The only suggestion they could make was that "downloading" would cause the service to be blocked: hardly helpful, since I was merely browsing the web and handling email.
My fourth call to your support desk was put on hold and then unilaterally terminated. This is completely unacceptable.
Experimentation demonstrated that your service blocker appeared to come into play when the certain URLs (among others: my patience was limited) were accessed. I would emphasize that my use of bandwidth was *not* excessive; the previous evening I had transferred a couple of PowerPoint and PDF files, but no malicious content of any kind was involved.
http://www.pythonware.com/library/pil/handbook/imagedraw.htm (documentation for a graphics package)
http://python.org/ (the home page for the Python programming language).
This last site is of particular concern to me as I am the Chairman and a Director of the Python Software Foundation, the organization responsible for the site.
I would like to know why you are censoring our web site, and what you propose to do to make sure that its content is available to all who wish to access it.
Sincerely
Steve Holden
Chairman, Python Software Foundation
Don't Use Python 3.0? Really?
It's difficult to say "don't use Python 3.0" without being rude to the developers, as the code seems to be of very high quality. Now that Python 3.0 is almost here (release candidate 2 is a week old as I write) we should encourage people to use it, but only under well-defined circumstances. Here is some text I put together for inclusion in the release notes, to give people guidance about when and why it is and isn't appropriate to use 3.0. I would welcome further ideas to refine this text.
Readers should note that this release has significant backwards incompatibilities with the 2.X series, both at the language level and also in the C APIs available to extension module authors. These have been introduced by design, with the goal of improving the language in the long term, but this situation has implications for production use.I hope that clarifies things, but I would welcome further ideas to refine this text and make it more helpful. One of the primary reasons for using 3.0 is to get a migration strategy ready. But 3.0 is undoubtedly not for everyone, at least not just yet.
Furthermore it is likely that there will be a considerable delay before some authors of Python packages and extension modules start to provide 3.0-compatible releases. There are significant hurdles to be overcome in migrating extension modules from Python 2 to Python 3.
For these reasons you are NOT recommended to rely on Python 3.0 as your main production Python implementation until you know that all supporting code is available in compatible forms. While every care has been taken in the production of the Python 3.0 release, and the release team feels that the system is of a quality comparable with the recently-released Python 2.6, the latter system is currently the recommended version for production use.
November 12, 2008
Phrase From Nearest Book
Well, here's a turn-up. I spotted this meme on Grig Georghiu's blog.
- Grab the nearest book.
- Open it to page 56.
- Find the fifth sentence.
- Post the text of the sentence in your journal along with these instructions.
- Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.
If he is gay, man needs man; otherwise, man needs woman.This doesn't actually represent the compelling nature of Dooling's prose particularly well. For that I like the next two sentences rather better:
Not photos or Web clips or blog entries or text messages or e-mails or even video clips taken of or sent by woman. Man needs woman in the flesh, in meatspace, where he-meat meets she-meat to beget meatlets.Anyway, it will be interesting to see what others come up with.
November 11, 2008
United.com Broken
So I have this trip coming up to San Diego, and I fly tomorrow. I get this friendly little Web-2.0 e-mail from United. It comes from an address in a subdomain of p0.com, telling me that United are using Yesmail, and it includes a link for me to follow to "view my complete itinerary". They even have it link to a server in the p0.com domain so my browser doesn't think this is a phishing attack. The only problem comes when I click on the link, and repeatedly see
Connection InterruptedThe connection to the server was reset while the page was loading.The network link was interrupted while negotiating a connection. Please try again.
"Not to worry", I think to myself, "I'm a United frequent flyer (God help me), so I can just log in to my Mileage Plus account and check my itinerary there". Of course this wouldn't have been much of a post if that had worked, but good old United didn't let me down. Every attempt to log in gives me
Redirect LoopFirefox has detected that the server is redirecting the request for this address in a way that will never complete.The browser has stopped trying to retrieve the requested item. The site is redirecting the request in a way that will never complete.
Attempts to retry just bring up the same message again. Wonderful. Let's hope the people who run the web site have nothing to do with keeping the 'planes flying.
[PS: Fortunately this appeared to be a transient condition. The site now responds normally.]
November 10, 2008
Final "Introduction to Python" of 2008
As the year draws to a close Holden Web is pleased to remind readers that its final public "Introduction to Python" class of this year will be held from December 9-11 at our education center close to Washington, DC.
There are several hotels conveniently located within walking distance, and we provide breakfast snacks and lunch each day.
Purchase places on-line by credit card or using PayPal.
Thanks to all students who have already attended this class. We look forward to meeting you again as our range of course offerings increases.
November 9, 2008
For Would-Be Python Users
If you are new to Python, or know someone else who is, you (or they) could do a lot worse that visit Richard Dooling's Seven Minutes to Hello World web page. It explains about the easiest way to get Python up and running on your Windows XP computer.
I am pretty sure it will run for Vista too, the only reservation I have being the need to run the installer as an administrator if you want to install Python for all users. Since most Vista systems are single-user machines anyway, this isn't likely to be a big issue.
I am pretty sure it will run for Vista too, the only reservation I have being the need to run the installer as an administrator if you want to install Python for all users. Since most Vista systems are single-user machines anyway, this isn't likely to be a big issue.
November 7, 2008
World Plone Day? Communicate, Dammit!
So just now, somewhat after midday Eastern Time, I discover that today is World Plone Day.Forgive me for saying so, but as Python Software Foundation chairman I should have expected to hear about this event a little in advance. I would even have welcomed the opportunity to lend PSF resources towards publicizing it, seeing as how Plone is one of Python's showcase applications. Alas apparently nobody thought to try and use the PSF as a channel. So I hope World Plone Day goes well this year, and that it doesn't pass everybody else by as it did me.
For the record, the PSF runs its own blog, whose articles are well-syndicated on the web, and we are also usually happy to put Python-related events as front-page news on the python.org web site.
If you are running some newsworthy event, mail the webmasters (if you aren't savvy enough to work out the correct email address, webmaster at python dot org should get you there) to avail yourselves of the opportunity! However can we achieve world domination if we continually hide Python's light under a bushel?
October 30, 2008
A Joke, or an Accident?
I can't decide whether Greg Wilson posted this as a joke. In case he didn't, and whatever error induced this behavior is fixed by the time you click on the link, I attach a current screenshot. Click on the image to look at the title and see what amused me.Either way I think it's funny. No, it doesn't take a lot to amuse me. I guess I'm just a geek at heart.
October 29, 2008
Stani Wins Coin Design Competition
If you subscribe to the Planet Python feed you will already know that Stani (this is to the best of my knowledge the only name he advertises), the author of the well-known Stani's Python Editor, just won a competition to design a new Dutch five-Euro coin.Congratulations, Stani, and not just for an exceptionally creative use of open source software (including Python, naturally), but also for a fine demonstration of its ideals. What a pity you can't release the coin under a copyleft agreement!
It seems to me this is just another area where the demonstrable abilities of open source are only just beginning to make an impression. You ain't seen nothing yet!
October 26, 2008
Norton Antivirus 2009 on Vista is a Liabilty
Today, for the second time in less than two weeks, the first attempt to collect mail after a reboot cause the appearance of a rather unpleasant notification dialog indicating that my Antivirus software has stopped working:The first time this issue occurred I spent almost four hours online with the Symantec support technicians, having my software removed and re-installed several times without any resolution of the issue. At that point I had to go out, and when I returned the issue was somehow gone. I assumed that some component had been automatically updated, and continued on my merry way.
Today, we went through the same remove/re-install rigmarole with no more success. After the technician (who was controlling my computer remotely) went quiet for three or four minutes, then he closed the browser windows and disconnected the support session. Thanks very much.The really annoying thing is that this is a known issue that Symantec claim will "be fixed in the next support upgrade", but there is no information about when this upgrade will happen, and neither does there appear to be a workaround I can apply until the fix appears, short of falling back to Norton Antivirus 2008. So I suppose that's what I'll have to do.
I'm guessing there are a lot of other people experiencing the same issue, because I started out as eighteenth in line for support. I am now next, and looking forward to going back to the prior release. But that was installed by a Symantec technician in response to a long-forgotten problem with the 2008 product, so I may not be out of the woods even then. If Symantec think I'm renewing at the end of my current subscription period they have another think coming. I have already spent almost a full day without email twice because of this issue, and I've had enough.
For some reason a number of posts were stuck in the blog as drafts. This one is from October last year.
October 21, 2008
It's Here!
I may be an old fart, but I know when a 'phone is going to be cool. To think I was actually the guy who registered "gPhone.com" (for a client). It would be nice to see Steve McCarthy and Guy Jazynka get something for the name. They might even buy me a pint!At least I get a chance to play with Chrome. So, who knows where the Python interpreter is?
Shame I am feeling so ropey, I'd have loved to spend the evening playing on the Intarweb. Maybe tomorrow I'll blog from the 'phone.
October 15, 2008
Django Tip: Non-editable Fields
Yesterday I explained how to subclass a DateTimeField, adding a pre_save() method to make it suitable for use as a row creation or modification timestamp. If you do this, however, you will observe that unless you add an editable=False argument to the field instantiation call they will appear as editable fields in any ModelForms containing them. It would clearly be more desirable to have these fields non-editable by default, which can easily be arranged by extending their __init__() method and changing the default value of the editable argument.
The code below also renames the fields more suitably. You can use a similar trick to create other non-editable field types, and also to change other instantiation defaults.
The code below also renames the fields more suitably. You can use a similar trick to create other non-editable field types, and also to change other instantiation defaults.
class ModificationDateTimeField(models.DateTimeField):
def __init__(self, editable=False, *args, **kw):
models.DateTimeField.__init__(self, editable=editable, *args, **kw)
def pre_save(self, instance, add):
val = datetime.datetime.now()
setattr(instance, self.attname, val)
return val
class CreationDateTimeField(ModificationDateTimeField):
def __init__(self, editable=False, *args, **kw):
models.DateTimeField.__init__(self, editable=editable, *args, **kw)
def pre_save(self, instance, add):
if not add:
return getattr(instance, self.attname)
return ModificationDateTimeField.pre_save(self, instance, add)
October 13, 2008
Django Tip: Field.pre_save()
Here's a little thing that can help you to improve the flexibility of your models.
Rather than trying to extend or override Model.save(), if the special action you require only affects one field then define a subclass of the required Field type and define a pre_save() method on the subclass. This will override the default method, which simply returns the attribute value.
I spotted this by following up a discussion of the planned removal of the DateField's auto_now and auto_now_add attributes, which you can assert to set a modification or creation date respectively on rows. Some developers suggested putting the functionality in a decorator that could be used on the model's save() method, but Jacob Kaplan-Moss preferred a trivial subclass:
Unfortunately this is just a little bit too trivial, since pre_save() is required to set the attribute value - every time for auto_now and on first save for auto_now_add. Fortunately the extra code required is pretty small. pre_save() receives three arguments: the first is the field instance, the second is the model instance and the third is a flag which is True only when the save() call is adding a new row to the associated table.
Technically it would be cleaner to use super() to access the superclass methods from AutoNowAddDateTimeField, but as a proof of concept this works fine.
As it happens the auto_now and auto_now_add attributes of DateTimeField were not removed before the release of Django 1.0, so we are likely to be stuck with them until 2.0. But the same technique is useful for any field that needs to receive an automatic value when a model instance is saved.
Rather than trying to extend or override Model.save(), if the special action you require only affects one field then define a subclass of the required Field type and define a pre_save() method on the subclass. This will override the default method, which simply returns the attribute value.
I spotted this by following up a discussion of the planned removal of the DateField's auto_now and auto_now_add attributes, which you can assert to set a modification or creation date respectively on rows. Some developers suggested putting the functionality in a decorator that could be used on the model's save() method, but Jacob Kaplan-Moss preferred a trivial subclass:
class AutoDateTimeField(models.DateTimeField):
def pre_save(self, model_instance, add):
return datetime.datetime.now()
Unfortunately this is just a little bit too trivial, since pre_save() is required to set the attribute value - every time for auto_now and on first save for auto_now_add. Fortunately the extra code required is pretty small. pre_save() receives three arguments: the first is the field instance, the second is the model instance and the third is a flag which is True only when the save() call is adding a new row to the associated table.
class AutoNowDateTimeField(models.DateTimeField):
def pre_save(self, instance, add):
val = datetime.datetime.now()
setattr(instance, self.attname, val)
return val
class AutoNowAddDateTimeField(AutoNowDateTimeField):
def pre_save(self, instance, add):
if not add:
return getattr(instance, self.attname)
return AutoNowDateTimeField.pre_save(self, instance, add)
Technically it would be cleaner to use super() to access the superclass methods from AutoNowAddDateTimeField, but as a proof of concept this works fine.
As it happens the auto_now and auto_now_add attributes of DateTimeField were not removed before the release of Django 1.0, so we are likely to be stuck with them until 2.0. But the same technique is useful for any field that needs to receive an automatic value when a model instance is saved.
October 2, 2008
Python 2.6 Released
Thanks to release manager Barry Warsaw and a cast of thousands! Get it from the usual place.
September 24, 2008
Scratching Setuptools Itches
Interestingly, two different people have announced setuptools replacement/enhancement products on the same day. Maybe we will eventually see some such functionality in the Python standard library. It's obvious there's a lot of pull for the feature set, even though different people have different complaints about the implementation.
September 23, 2008
The Other Side of the Bike Shed
I've long used the C. Northcote Parkinson bicycle shed discussion example to try to focus on the big issues, and suspect I may have been the one to introduce it to comp.lang.python (though someone with superior google-fu would have to confirm or deny that assertion).
It's always a temptation to expend most energy on the issues we feel comfortable with, and rush the discussions on the areas outside our area of competence even though they are the ones we should rationally spend time discussing, grappling with issues and trying to understand.
The current Bush administration proposal, on which they demand action from Congress within a week, sees the other side of the bicycle shed. Urgent action is alleged to be needed, and it seems that many in government are prepared to rush a decision through because they don't really understand the issues.
The fact remains that it's an unconscionable bid to bail out the fat cats whose corporate greed, with the connivance of the SEC, sent the economy down the shitter in the first place. Personally I'd rather see the discomfort spread about rather more democratically, with those who have been making money from their investments in ill-advised mortgages now taking losses still not comparable with those of the often innocent borrowers who are losing their homes by the thousand.
Remember, the value of your investments can go down as well as up.
It's always a temptation to expend most energy on the issues we feel comfortable with, and rush the discussions on the areas outside our area of competence even though they are the ones we should rationally spend time discussing, grappling with issues and trying to understand.
The current Bush administration proposal, on which they demand action from Congress within a week, sees the other side of the bicycle shed. Urgent action is alleged to be needed, and it seems that many in government are prepared to rush a decision through because they don't really understand the issues.
The fact remains that it's an unconscionable bid to bail out the fat cats whose corporate greed, with the connivance of the SEC, sent the economy down the shitter in the first place. Personally I'd rather see the discomfort spread about rather more democratically, with those who have been making money from their investments in ill-advised mortgages now taking losses still not comparable with those of the often innocent borrowers who are losing their homes by the thousand.
Remember, the value of your investments can go down as well as up.
September 22, 2008
PyCon Tutorials, 2009
So, the call for tutorials has gone out, and I am thinking (yet again) of offering at least one. In the past my tutorials have been of an introductory nature: the DB API, wxPython, and last year I taught Python itself (or enough of it for newcomers to be able to understand conference talks) in three hours.
So, what would people like to see this year? I'm minded to do something a little more advanced this time, so I can feed it into Holden Web's public course schedule.
So, what would people like to see this year? I'm minded to do something a little more advanced this time, so I can feed it into Holden Web's public course schedule.
September 20, 2008
The Photo Meme
Instructions: Take a picture of yourself right now. Don't change your clothes, don't fix your hair - just take a picture. Post that picture with NO editing. Post these instructions with the picture.
From a post by Jeremy Hylton.
September 12, 2008
Python 2.6 First Release Candidate Due Today
To maintain the fairly aggressive release schedule Barry Warsaw and the Python developers have decided to decouple the 2.6 and 3.0 releases, so 3.0 will now be slightly delayed - maybe by a couple of weeks. This gives them the freedom to bring out 2.6rc1 today, with the intention of brings 2.6rc2 out on Wednesday September 17 as originally planned, and hitting the October 1 final release date.
Since 3.0 isn't intended for production work I think this decision is the right one. There are still a few release-blocking issues on the 3.0 code, and there's little point trying to release it before quality is acceptable.
It will be great to see the next new release of Python. If you have any chance at all to test the release candidates you too can help to improve the quality of the eventual release.
Since 3.0 isn't intended for production work I think this decision is the right one. There are still a few release-blocking issues on the 3.0 code, and there's little point trying to release it before quality is acceptable.
It will be great to see the next new release of Python. If you have any chance at all to test the release candidates you too can help to improve the quality of the eventual release.
August 18, 2008
PyCon Is Coming ...
Incredibly, PyCon 2009 is already looming. The call for papers should be opening soon, and the conference needs volunteers like never before. I've just finished an article on that topic for Python Magazine, but that won't be published until November, so keep your eyes on the PyCon blog for more news.
Don't You Hate It ...
... when you [use a well-known search engine] for advice about a problem and the first hit is something you wrote several years ago? Either you should have remembered you've had that problem ever since you first wrote about it, or you should have remembered how to solve it.
August 12, 2008
Holden Web on Django Trunk Again
The main holdenweb.com site is fairly simple, so I figured it would be a short job to migrate it to the latest version of the Django trunk (r8301 when I started). While I felt it was unlikely I'd unearth any errors it's the least I can do to help the developers as they charge towards the first release candidate for 1.0.
It turned out to be relatively simple, but with an unanticipated glitch. Having made what I thought were all necessary changes, most of which simply involved altering
from django import newforms as forms
to
from django import forms
I tried accessing the site and got a lengthy traceback terminating in
I'm pretty impressed, even on a small site, that such large changes to the code needed such small changes to my application before it worked. Kudos for code quality to the Django developers. But it would be nice if the error message could be more informative.
It turned out to be relatively simple, but with an unanticipated glitch. Having made what I thought were all necessary changes, most of which simply involved altering
from django import newforms as forms
to
from django import forms
I tried accessing the site and got a lengthy traceback terminating in
ImproperlyConfigured: Error while importing URLconf 'urls': cannot import name newformsThis would have been fine, except that the traceback didn't actually give me any information about the module that was causing the problem. Ultimately I traced it to the registration add-on, which needed the same change making to it as did my own code.
I'm pretty impressed, even on a small site, that such large changes to the code needed such small changes to my application before it worked. Kudos for code quality to the Django developers. But it would be nice if the error message could be more informative.
July 29, 2008
One-Day Python Classes
Holden Web's third Introduction to Python class starts on September 9. It runs from Tuesday through Thursday, and I could easily use the training room for an extra day if I had a suitable topic for a one-day class. The question is, what would people want to learn? More specifically, what would they pay to come and learn?
I have a couple of ideas for popular topics, but your suggestions are also welcome. And since there's only over a month to go, better hurry! Thanks.
I have a couple of ideas for popular topics, but your suggestions are also welcome. And since there's only over a month to go, better hurry! Thanks.
July 26, 2008
Microsoft at OSCON
The last session I attended before leaving for the airport was the Friday morning plenary session. Sam Ranji of Microsoft announced several new initiatives (documented in his Port 25 blog), including sponsorship of the Apache Software Foundation. This doesn't mean Microsoft are abandoning IIS development.
After the keynotes were over there was a Q&A session, but it seemed like the AV technicians (who seemed to do a pretty awesome job overall) hadn't set up monitor speakers, and so those on stage found it difficult to hear the questions. Which were mostly for Sam, and sometimes a little hostile!
I tried to ask him how it would be possible to change the corporate ethos so that stupidities like the recent OOXML debacle aren't repeated, but I'm not sure the desire to help survived the mangling by the sound system. Microsoft have been a sponsor member of the Python Software Foundation for some time now, and they are as welcome as all our other members.
It was clear, listening to Sam speak with delegates after his talk, that he "gets" open source. It's frustrating to read people complaining about Microsoft without being prepared to engage and argue that open source and full interoperability can actually help the company meet its business goals more effectively. By doing so we can help Sam get the ears of the business-line managers, and thereby promote open source from within.
I left him with a business card and an offer of assistance. It remains to be seen whether anything comes of it.
After the keynotes were over there was a Q&A session, but it seemed like the AV technicians (who seemed to do a pretty awesome job overall) hadn't set up monitor speakers, and so those on stage found it difficult to hear the questions. Which were mostly for Sam, and sometimes a little hostile!
I tried to ask him how it would be possible to change the corporate ethos so that stupidities like the recent OOXML debacle aren't repeated, but I'm not sure the desire to help survived the mangling by the sound system. Microsoft have been a sponsor member of the Python Software Foundation for some time now, and they are as welcome as all our other members.
It was clear, listening to Sam speak with delegates after his talk, that he "gets" open source. It's frustrating to read people complaining about Microsoft without being prepared to engage and argue that open source and full interoperability can actually help the company meet its business goals more effectively. By doing so we can help Sam get the ears of the business-line managers, and thereby promote open source from within.
I left him with a business card and an offer of assistance. It remains to be seen whether anything comes of it.
July 24, 2008
Where's Sean Reifschneider When You Need Him?
Another conference, another sucky network. OSCON's wireless network hasn't performed as well as I'd have expected it to from my experience four years ago. With roughly 2,500 delegates in a large area there's no reason why I should be unable to associate with an access point.
Sean's setup and management of the 2007 PyCon in Dallas remains the best conference network I have used.
All this seems very effete, of course, given that ten years ago there was no such thing as a public wireless network. But as technology moves on expectations move up, and many people this week have suggested OSCON's network will need to improve for next year.
Sean's setup and management of the 2007 PyCon in Dallas remains the best conference network I have used.
All this seems very effete, of course, given that ten years ago there was no such thing as a public wireless network. But as technology moves on expectations move up, and many people this week have suggested OSCON's network will need to improve for next year.
Is My Nose Borked ...
... or do all Portland Conference Center hotels smell of stale fried food?
I am having a great time, and the PDXers are wonderfully hospitable, but I suspect the hotel staff need to take a week off and smell the places they work with a fresh attitude.
I have stayed in many hotels that don't have this problem, but the two I have visited so far this week (including the "conference hotel" I am staying in) aren't the freshest environments I have ever encountered.
I am having a great time, and the PDXers are wonderfully hospitable, but I suspect the hotel staff need to take a week off and smell the places they work with a fresh attitude.
I have stayed in many hotels that don't have this problem, but the two I have visited so far this week (including the "conference hotel" I am staying in) aren't the freshest environments I have ever encountered.
Test the Betas, Already!
OK, if you saw the last mention of the Beta 2 release of Python 2.6 and 3.0 you might have got this message, but the subject line makes it pretty explicit.
Every time a new release comes out it goes through the alpha, beta and release candidate stages without enough people actually downloading it and making sure their applications run. (Then, surprisingly often, within a month or so of the final release someone comes along and says "Hey, this breaks feature "X").
The developers are taking a lot of care to try and ensure that the next version comes out bug-free. Wouldn't it be nice if we could provide an army of savvy testers to saturate the betas with potential problems, so they don't become problems in the release candidates or final release?
Your language needs you! Seriously ... and particularly if you run the Windows version!
Every time a new release comes out it goes through the alpha, beta and release candidate stages without enough people actually downloading it and making sure their applications run. (Then, surprisingly often, within a month or so of the final release someone comes along and says "Hey, this breaks feature "X").
The developers are taking a lot of care to try and ensure that the next version comes out bug-free. Wouldn't it be nice if we could provide an army of savvy testers to saturate the betas with potential problems, so they don't become problems in the release candidates or final release?
Your language needs you! Seriously ... and particularly if you run the Windows version!
July 22, 2008
Robert (R0ml) Lefkowitz at OSCON
There don't appear to be any methodologies that are specific to open source projects: methods like scrum are agnostic as to whether they are used on open source or proprietary software.
Lefkowitz has spent a long time trying to encourage large organizations to adopt open source techniques. His current employer uses the Microsoft solutions framework. This has a process model and a team model, and it's difficult even to get everyone in the organization to sign up to the models. Before the company used that they used another methodology with four phases, and Kent Beck's "Extreme Programming" uses six phases. All these methodologies are different, but subtly similar.
How do we define a methodology that everyone can use? R0ml believes we need to drive the development of the process broadly based in the open source world. He referred us to Quintillian's five-step rhetorical framework, which might have been lifted directly from the Microsoft framework had it not been written in the first century AD.
Other techniques or methodologies can also be mapped on to the rhetorical framework.
The architect Alexander observed that the events that take place in a place are primary in determining its fitness for purpose. Juggling uses two different notatiopositional notation, but some jugglers use "causal" notation, which focuses on throwing a club when it must be thrown to maintain stability. 70% of the MVS operating system is dedicated to exception handling, which is why they are so stable.
R0ml suggests starting with "release early/release often" as a starting point. Next, you use it (which you will notice is completely ignored by traditional methodologies). Bug and exceptions reports and patch submissions are then followed by triage and integration. The difference here is we don't have "requirements". There is no development, there is only maintenance; it's just that some maintenance is more radical that others (laughter).
XP puts some stress on the customer by requiring them to make decisions, write user stories, write functional test specifications, and so on. But the most powerful input from the customers is their complaints when the software doesn't do what they want. (More laughter).
This was an amusing talk, which anyone who has seen this speaker in action before would expect, but I'm not sure there were many pieces of practical advice for open source developers. I got the impression from a somewhat abrupt finish that Lefkowitz didn't have enough time to fully expound his thesis. A shame, since the last talk I saw was informative as well as amusing.
For some reason a number of posts were stuck in the blog as drafts. This one is from July last year.
Lefkowitz has spent a long time trying to encourage large organizations to adopt open source techniques. His current employer uses the Microsoft solutions framework. This has a process model and a team model, and it's difficult even to get everyone in the organization to sign up to the models. Before the company used that they used another methodology with four phases, and Kent Beck's "Extreme Programming" uses six phases. All these methodologies are different, but subtly similar.
How do we define a methodology that everyone can use? R0ml believes we need to drive the development of the process broadly based in the open source world. He referred us to Quintillian's five-step rhetorical framework, which might have been lifted directly from the Microsoft framework had it not been written in the first century AD.
| Rhetoric | MSF |
| inventio | Envision |
| dispositio | Plan |
| elocutio | Build |
| memoria | Stabilize |
| pronuntiato | Deploy |
Other techniques or methodologies can also be mapped on to the rhetorical framework.
The architect Alexander observed that the events that take place in a place are primary in determining its fitness for purpose. Juggling uses two different notatiopositional notation, but some jugglers use "causal" notation, which focuses on throwing a club when it must be thrown to maintain stability. 70% of the MVS operating system is dedicated to exception handling, which is why they are so stable.
R0ml suggests starting with "release early/release often" as a starting point. Next, you use it (which you will notice is completely ignored by traditional methodologies). Bug and exceptions reports and patch submissions are then followed by triage and integration. The difference here is we don't have "requirements". There is no development, there is only maintenance; it's just that some maintenance is more radical that others (laughter).
XP puts some stress on the customer by requiring them to make decisions, write user stories, write functional test specifications, and so on. But the most powerful input from the customers is their complaints when the software doesn't do what they want. (More laughter).
This was an amusing talk, which anyone who has seen this speaker in action before would expect, but I'm not sure there were many pieces of practical advice for open source developers. I got the impression from a somewhat abrupt finish that Lefkowitz didn't have enough time to fully expound his thesis. A shame, since the last talk I saw was informative as well as amusing.
For some reason a number of posts were stuck in the blog as drafts. This one is from July last year.
Mark Shuttleworth at OSCON
Mark, an accomplished speaker, started by confessing that he had no doubt that Linux would be the platform of the future, and suggesting that tools like Firefox and bazaar had claimed ownership of their application space by providing extensibility in a modular way: conform to the interfaces, and the application becomes a platform. All the same, he insisted there is also a need to work with Windows (which makes sense since there are so many Windows systems around).
One of the issues Mark discussed was how we can extend agile techniques in ways inspired by community-driven processes. Architecting your tool set and your enterprise for collaboration and communication is essential. Ubuntu's governance is entirely separated from Canonical's, and Mark suspects that might turn out to be a best practice.
Tools must be extensible, and whether they are open source or proprietary they must be usable as components in diverse systems. The ultimate goal is "permissionless" development - new people coming in wanting to do new things need to be able to take the tools and run with them to implement their own ideas. His ideal for Ubuntu is for any developer worldwide to branch the Ubuntu code and publish their version in ways that other people can in turn pick up and run with.
Another best practice Mark has identified is time-based releases, which lend a rhythm to the development process and allow developers to keep track of what's happening in the trunk, which should be releasable at any time. More and more projects are thinking about synchronizing their releases. Imagine if a multitude of Linux distributions could collaborate to release at the same time, providing a "development cadence", encouraging individual tool developers to finalize their own releases for incorporation into a multitude of distributions.
Mark sees todays open source development world as struggling to provide free software, but the questions is how will the economic models support this? Free software is easy to love: it costs nothing to acquire. But who will fund the development of the free software? This will require innovations in economics that will, with a historical perspective, possibly be one of the more significant changes in these turbulent times. Having three almost-monopolies each controlling their own distribution would be counter-productive, and advertising on the desktop is offensive.
At Canonical they are hiring people to work on the desktop to build tools that benefit the providers of services. This will fundamentally change the world.
The challenge of the next two years is to lift the Linux desktop to a level where it is effectively art! How do Linux distributions not emulate Apple, but blow right past them. Jamie Zawinski says we should be aiming to build software tools that help their users get laid! The only doubts Mark had about that as a goal were related to Jamie's stated goal of making software that his mother could use ...
The Web 2.0 explosion has taught us that to survive in the web world a software product needs to be instantly attractive, and deliver functionality immediately in a profoundly usable way. Canonical have been investing in the process and the technology, and they are now trying to
realize the dream that Mark so elegantly elucidated in his presentation.
One of the issues Mark discussed was how we can extend agile techniques in ways inspired by community-driven processes. Architecting your tool set and your enterprise for collaboration and communication is essential. Ubuntu's governance is entirely separated from Canonical's, and Mark suspects that might turn out to be a best practice.
Tools must be extensible, and whether they are open source or proprietary they must be usable as components in diverse systems. The ultimate goal is "permissionless" development - new people coming in wanting to do new things need to be able to take the tools and run with them to implement their own ideas. His ideal for Ubuntu is for any developer worldwide to branch the Ubuntu code and publish their version in ways that other people can in turn pick up and run with.
Another best practice Mark has identified is time-based releases, which lend a rhythm to the development process and allow developers to keep track of what's happening in the trunk, which should be releasable at any time. More and more projects are thinking about synchronizing their releases. Imagine if a multitude of Linux distributions could collaborate to release at the same time, providing a "development cadence", encouraging individual tool developers to finalize their own releases for incorporation into a multitude of distributions.
Mark sees todays open source development world as struggling to provide free software, but the questions is how will the economic models support this? Free software is easy to love: it costs nothing to acquire. But who will fund the development of the free software? This will require innovations in economics that will, with a historical perspective, possibly be one of the more significant changes in these turbulent times. Having three almost-monopolies each controlling their own distribution would be counter-productive, and advertising on the desktop is offensive.
At Canonical they are hiring people to work on the desktop to build tools that benefit the providers of services. This will fundamentally change the world.
The challenge of the next two years is to lift the Linux desktop to a level where it is effectively art! How do Linux distributions not emulate Apple, but blow right past them. Jamie Zawinski says we should be aiming to build software tools that help their users get laid! The only doubts Mark had about that as a goal were related to Jamie's stated goal of making software that his mother could use ...
The Web 2.0 explosion has taught us that to survive in the web world a software product needs to be instantly attractive, and deliver functionality immediately in a profoundly usable way. Canonical have been investing in the process and the technology, and they are now trying to
realize the dream that Mark so elegantly elucidated in his presentation.
Django 1.0 Alpha 1 released
We learned yesterday that the Django development team had released the first alpha on the trail to the 1.0 release due early in September.
This is great news: it means that the major items that have been developed on the sidelines (a refactoring of the queryset code and a rewrite of the admin application to use NewForms) are now fully merged into the trunk. Most of the functionality for the eventual release is now in place, though of course the feature freeze doesn't start until the betas, scheduled for two weeks time.
This is great news: it means that the major items that have been developed on the sidelines (a refactoring of the queryset code and a rewrite of the admin application to use NewForms) are now fully merged into the trunk. Most of the functionality for the eventual release is now in place, though of course the feature freeze doesn't start until the betas, scheduled for two weeks time.
July 19, 2008
OSCON Bound
Flying out to Portland tomorrow arriving late evening (I only just got back from California, and I wanted a little time at home). I am giving a Python in 3 Hours tutorial on Monday morning, but don't have many other set commitments during the week.
Anyone who wants to get together for a meal or a drink, just leave a comment here, or email me.
Anyone who wants to get together for a meal or a drink, just leave a comment here, or email me.
July 17, 2008
CPython Getting Serious About Quality: Help Needed
Beta2 of Python 2.6 and 3.0 was due out today. It isn't going to happen, and for the best of reasons. Under the guidance of release manager Barry Warsaw the developers have started to pay serious attention to the output of the buildbots, the systems which perform continuous integration testing of the development version of the Python interpreter.
Barry has just announced that there are three issue serious enough to delay the release, even though this potentially means slipping the release schedule (though time will tell whether that's a serious concern). If you are a Python developer, please take notice of what he said in an email to the python-dev list earlier today:
Barry has just announced that there are three issue serious enough to delay the release, even though this potentially means slipping the release schedule (though time will tell whether that's a serious concern). If you are a Python developer, please take notice of what he said in an email to the python-dev list earlier today:
Quality is important. Please do whatever you can to help. Many people can benefit from a little extra effort now.Please everyone, if you have only a little bit of time to work on Python, I hope you will attack the release critical and deferred blocker issues, and work on turning the buildbots green. These are the top priorities in order to get 2.6 and 3.0 out on time. And just as added incentive, our October 1st goal is being noted by downstream vendors. [Possibly confidential information about third parties redacted].
Posted by
Steve
at
01:52
9 comments:
Labels:
2.6,
3.0,
developer,
python,
quality assurance,
release
July 12, 2008
PyPy Continues to Catch Up
Interesting news from the EuroPython sprints at Vilnius via Holger Krekel. PyPy supports Django well enough to run the Pinax application put together by an open source team coordinated by James Tauber. It's great to see Python expanding in so many directions at once. The future is definitelyto be interesting.
Django seems to be becoming one of the "how good is your implementation" tests for Python implementations. Not only are the PyPy team using it in this way, but IronPython and Jython are as well. Since Jython is now in alpha with a Python 2.5-compatible implementation the picture is looking better and better every day.
The one thing nobody has discussed much is the attitude of the PyPy, Jython and IronPython development teams to migration towards Python 3.0. Does it represent the next wave, or will it end up as an isolated development?
Django seems to be becoming one of the "how good is your implementation" tests for Python implementations. Not only are the PyPy team using it in this way, but IronPython and Jython are as well. Since Jython is now in alpha with a Python 2.5-compatible implementation the picture is looking better and better every day.
The one thing nobody has discussed much is the attitude of the PyPy, Jython and IronPython development teams to migration towards Python 3.0. Does it represent the next wave, or will it end up as an isolated development?
July 9, 2008
Shameful Day in American History
So, it's official. Corporations are above the law, individual freedom should be subservient to corporate profits and if the president tells you to break the law well you can just go ahead and break it. The revolution moves a little nearer.
Posted by
Steve
at
16:33
2 comments:
Labels:
freedom,
immunity,
politics,
shame,
spying,
telecommunications
July 1, 2008
Certificate Design Required
Do you know anyone who can design a really nice looking certificate? Even better, are you such a person? The PSF instituted an awards scheme recently and the first four awards were announced at PyCon earlier this year. I have to have an official certificate created so we can have copies framed for the recipients, and my original designer has let me down (too busy).
So I am asking the web if it knows a suitable designer, preferably coming with recommendations, who can quote me a price (I can provide a reasonable brief if you contact me via this link) and get this job off my plate before the delay becomes too embarrassing.
So I am asking the web if it knows a suitable designer, preferably coming with recommendations, who can quote me a price (I can provide a reasonable brief if you contact me via this link) and get this job off my plate before the delay becomes too embarrassing.
Subscribe to:
Posts (Atom)