Tags
- android
- art
- beauty
- bible
- blogging
- brisbane
- christianity
- community
- dancing
- design
- development
- framework
- free
- God
- ideas
- javascript
- laptop
- life
- mercurial
- music
- musings
- people
- physics
- politics
- programming
- programming languages
- public transport
- pyconau
- pygame
- python
- refactoring
- scripting
- software
- story
- testing
- tips
- tools
- trosnoth
- troubleshooting
- twisted
- ubuntu
- web
- window manager
- wireless
Links
Archives
- July 2023
- March 2022
- April 2020
- April 2019
- March 2019
- January 2019
- November 2018
- October 2018
- September 2018
- April 2016
- September 2015
- August 2014
- April 2014
- February 2014
- January 2014
- August 2013
- July 2013
- June 2013
- May 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- September 2012
- August 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- November 2011
- October 2011
- April 2011
- March 2011
- February 2011
- January 2011
- November 2010
- October 2010
- July 2010
- June 2010
- May 2010
- April 2010
Tag Archives: python
Romulus, My Window Manager
About a year ago, I wrote about making your own window manager in Python, and how to extend this to use Twisted as your window manager’s main loop. Around the time I wrote those articles, I also wrote a tiling … Continue reading
Something Fishy with Python ASTs
1 2 3 4 5 6 7 8 9 10 |
$ python Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ast >>> m = ast.parse('from __future__ import division') >>> m <_ast.Module object at 0xb764418c> >>> compile(m, '<string>', 'exec') at 0xb7636e78, file "<string>", line 1> |
Ok, so far so good. Now comes the interesting bit.
1 2 3 4 5 6 7 8 9 |
>>> import pickle >>> m2 = pickle.loads(pickle.dumps(m)) >>> m2 <_ast.Module object at 0xb7651c0c> >>> compile(m2, '<string>', 'exec') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 SyntaxError: from __future__ imports must occur at the beginning of the file |
When you parse an AST with a __future__ import, it looks as if it stores some hidden flags that suppress this error. These flags, if they exist, are … Continue reading
Twisted + Pygame the Easy Way
I’ve put together a Python package called fibre. It provides helpers to make it easy to write asynchronous applications. It uses Twisted under the hood. I’ve also made a package called fibre.ui. It adds user interface support using pygame. One … Continue reading
Subclass ’em Functions
Quick Summary I’ve got a simple Python helper class, in the talljosh package, that lets you write things that behave as functions but can be extended by subclassing. But Why? Consider the following Python function, found in json/encoder.py in the … Continue reading
Pygtk: reparented windows responding to size allocations
Today’s post is an obscure technical one that I imagine will be completely irrelevant to all of my normal readers at the time I write this. I write to save someone in the future from the hours of debugging and … Continue reading