Ian Ward's email:
first name at this domain
wardi on OFTC, freenode and github
Catching up on some more old business: here are the slides from the Python 2 and Python 3 talk I gave at last month's OCLUG meeting.
I am also preparing some Python tutorials for the upcoming 2011 Linux Symposium in Ottawa June 13-15. Hope you can make it.
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.
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
This release works well with light, dark or transparent backgrounds. It can display in monochrome mode and now has 88/256-color mode support (with a solid background color). There is also a new option to exit once a monitored file download completes.
Speedometer 2.7 requires Urwid 0.9.9.1 (Speedometer 2.6 was compatible with ancient versions of Urwid) it now uses
MainLoop and the updated
Pile widget. Otherwise the features and code structure are largely unchanged.
I will be giving a talk at the September meeting of the Ottawa Python Authors Group covering some documentation work I have done recently using Sphinx domains and a custom Pygments lexer.
I am working on an embedded device for a client that includes a proprietary text command language. Sphinx supports documenting many common languages like C, Python and Ruby, but with the 1.0 release it now allows adding "domains" for new languages. I have used this feature to create a domain for this command language.
Sphinx uses Pygments to provide syntax hilighting for source code examples. None of the available options fit this command language so I also created a custom lexer for this command language in just a few lines of code.
My talk will cover creating these extensions for Sphinx and Pygments.
« page 1 2 3 4 5 6 7 page »