Ian Ward's email:
first name at this domain
wardi on OFTC, freenode and github
Here are some of my favourite videos from this PyCon this year:
The Ottawa Python Authors Group is gathering at the Georgetown pub on Wednesday March 23. The theme of this meeting is Python Data Structures and String Processing. It's a great topic for beginners and experienced python users alike. Hope to see you there.
Registration for the Ottawa IPv6 Summit has just opened. Also if you want to present a talk (in particular something suitable for the business/management stream) there is still some time to submit a proposal.
The summit will be held Friday April 29 in downtown Ottawa at the new Desmarais building in the University of Ottawa campus. There will be some great talks, a good lunch, fast wireless, power at every seat and plenty of interesting people. I'll post again when the schedule is available.
The conference is being organized by a small group of volunteers, including myself. If your company is willing to sponsor the event please contact the Ottawa IPv6 Summit. The money will go directly into making the conference better for everyone attending.
My article on supporting Python 2 and Python 3 from the same code base is now freely available on LWN.net. The article is based on my recent work on Urwid's Python 3 support. I owe thanks to the people that started and contributed the compatibility work on github and bitbucket. I'm looking forward to a release with Python 3 support very soon.
I also gave a talk at last night's OPAG about these changes. Thank you to all those that came out, we should have these meetings more regularly. Maybe back at the pub next time?
If you write any custom Django widgets or admin list_display callable functions you have probably run into this: Everything looks ok, except the place where your widget should be is just blank. Nothing. No traceback or any clue as to what went wrong.
It seems that Django suppresses all the exceptions sent by widgets rendering except for AssertionError and TypeError. Debugging under those conditions is tricky, so I wrote a function decorator to help. Just import this and put @assert_on_exception before your render method or admin list_display callable function:
def assert_on_exception(fn): import sys def wrap(*args, **kwargs): try: return fn(*args, **kwargs) except (AssertionError, TypeError): raise except: raise AssertionError(sys.exc_info().__name__ + ": " + str(sys.exc_info())) wrap.__name__ = fn.__name__ wrap.__dict__.update(fn.__dict__) wrap.__doc__ = fn.__doc__ wrap.__module__ = fn.__module__ return wrap
Just adding my voice to the chorus of people praising Manufactoria.
I played through a earlier version months ago, but had to come back and try it again. The latest versions let you flip parts and easily move and rotate sections of your machines. And the new "Malevolance engine" jumps straight to your flaws or validates your designs almost instantly. If you like writing software, you must try this little game.
« page 1 2 3 4 5 6 7 8 … 10 11 12 page »