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
Author Archives: J. D. Bartlett
Happy Birthday Sqizit!
Today is exactly 2 years since my first blog post on sqizit.bartletts.id.au. To celebrate, here’s some highlights and history from Sqizit. Highlights 4 posts on music, including sheet music of my piano composition For Mandie. Pretty swirls in Python. Some … 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
Again: Broadcom Wireless BCM43224, Ubuntu
Update 2013-02-27: This solution on Ask Ubuntu is much better, because it includes properly packaged things that should update when you upgrade Ubuntu. Update 2012-10-24: The patch is no longer available on Broadcom’s website, but it can be found here. … Continue reading