Jon's Python modules
Grok Headline matches for Jon's Python modules
Jon's Radio
Jon's Radio
12/19/2003 11:55 AMJon's Jail Journal
Jon's Jail Journal
09/09/2004 05:08 AM
This is Jon's diary.
Jon is in prison on money laundering and drugs charges. "My
new co-habitants are enduring the twin evils of a broken swamp-cooler
and a cockroach infestation. A neighbouring asthmatic inmate happily
described how he inhaled a cockroach that had crept into his
nebulizer. He could feel the insect crawling around inside him and
promptly vomited his stomach contents. Unfortunately the cockroach was
not ejected, as it was lodged in his lung."
Jon's Ramblings: Using Services_Google
(PEAR)
Jon's Ramblings: Using Services_Google
(PEAR)
08/09/2004 07:59 AMIn a new posting on
Jon's
Ramblings (one of the PEAR developers working with the
Auth_PrefManager
a>, Auth_Enterprise
, and
Services_Google.
Update: Jon's Phone Tool 2.0
Update: Jon's Phone Tool 2.0
07/07/2004 11:17 AMThe scriptable phone dialing application adds a completely overhauled
interface, a Location Manager, an Address Book Numbers menu, the
ability to launch an AppleScript or an application when dialing, and
many other changes.
Python and XML: XML Namespaces Support
in Python Tools, Part Two
Python and XML: XML Namespaces Support
in Python Tools, Part Two
05/13/2004 07:55 PMIn his latest Python and XML column, Uche Ogbuji continues his tour of
XML namespaces support in Python tools, focusing this time on 4Suite.
Python and XML: XML Namespaces Support
in Python Tools, Part Three
Python and XML: XML Namespaces Support
in Python Tools, Part Three
06/30/2004 07:31 PMIn this month's Python and XML column Uche Ogbuji examines the
namespace support in ElementTree, PyRXPU, and libxml.
This is Jon's diary. Jon is in prison on
money laundering and drugs charges
This is Jon's diary. Jon is in prison on
money laundering and drugs charges
09/11/2004 01:42 AMprison
jonsjailjournal.blogspot.com
track this
site | 5 links
Backporting from Python 2.3 to Python
2.2
Backporting from Python 2.3 to Python
2.2
06/08/2004 11:18 PMWe have a home-grown templating system at work, which I
intend to dedicate an entry to some time in the future. We originally
wrote it in Python 2.2, but upgraded to Python 2.3 a while ago and
have since been evolving our code in that environment. Today I found a
need to load the most recent version of our templating system on to a
small, long neglected application that had been running the original
version ever since it had enough features to be usable.
Unfortunately, this application was running on a server
that only had Python 2.2. Installing Python 2.3 would have been
somewhat more painful here than on other servers we run for reasons I
won't go in to, so I decided to have a go at getting our current code
to run under the older Python version.
In the end, I only had to make three minor changes, all at
the top of the file in question.
I added from __future__ import
generators as the very first line of the file. We use
generators (with the yield statement) in a
few places - this feature was only properly added in Python 2.3, but
was made available in Python 2.2 as a "future enhancement" through the
aforementioned obscure import.
I added True, False = 1,
0 on the next line down. Surprisingly, Python 2.2 had no
support for a boolean type and instead used a test for non-zero
instead. The above line defines constants that behave enough like
Python 2.3's True and False to avoid any problems.
I defined an enumerate
function, which was introduced for real in Python 2.3. Here's the code
I used:
def enumerate(obj):
for i, item in zip(range(len(obj)), obj):
yield i, item
All in all it only took around ten minutes to put the
above together, after which the script worked just fine. It was
interesting to see how our code had grown to rely on Python 2.3
features without us realising it.
SAS Modules I 0.0.12
SAS Modules I 0.0.12
11/18/2003 10:21 AMModules for the Site@School content management system.
SAS Modules I 0.1.0
SAS Modules I 0.1.0
12/03/2003 07:34 AMModules for the Site@School content management system.
from components to modules
from components to modules
01/11/2004 07:52 AMRight now I'm refactoring/rebuilding the user interface of a new
release coming out soon (oh right... Note to self: talk about that)
and I'm facing the fight against "sticky" APIs. Or, in more technical
terms, their coupling.
Ideally, a certain component set that is self-contained (say, and
HTML component) will be isolated from other components at the same
level. This makes it both simpler, easier to maintain and, contrary to
what one might think, often faster. While I was at Drexel, at the Software Engineering Research
Group, I did work on source code analysis, studying things like
automatic clustering (paper) of software systems, that is, creating software that was able to
infer the modules present on a source code base using API
cross-references as a basis. Since then I've always been aware (more
than I was before that, that is) of the subtle pull created by API
references.
The holy grail in this sense is, for me, to create applications
that are built of fully interchangeable pieces, that connect
dynamically at runtime, thus avoiding compile-time dependencies. In
theory, we have many ways of achieving this decoupling between
components or component sets; in practice there are some barriers that
make it hard to get it right the first time. Or the second. Or...
First, the most common ways of achieving component decoupling
are:
- Through data: usually this means a configuration
file, but it could be a database or whatever else is editable
post-compilation. This is one of the reasons why XML is so important,
btw.
- Through dynamic binding: that is, references "by name"
of classes or methods. This is useful mostly with OO languages, as
you'll generally end up dynamically allocating a superclass and then
using an interface (or superclass) to access the underlying object
without losing generality (and thus without increasing
coupling).
Achieving decoupling in non-UI components is not too difficult (the
data model has to flexible enough though, see below). But UIs are
almost by definition something that pulls together all the components
of a program so they can be used or managed. The UI references
(almost) everything else by necessity, directly or indirectly, and
visual components affect each other (say, a list on the left that
changes what you see on the right).
In my experience, MVC is an absolute necessity to achieve at least
a minimal level of decoupling. Going further is possible by using a
combination of data (ie., config files) to connect dynamically loaded
visual components removes the coupling created at the UI level, but
that is difficult to achieve, because it complicates the initial
development process (with dynamically loaded components bugs become
more difficult to track, the build process is more complex, etc.) and
development tools in general deal with code-units (e.g.,
classes, or source files) rather than with modules. They go
from fine-grained view of a system (say, a class or even a method) to
a project, with little in between. We are left with separating files
in directories to make a project manageable, which is kind of crazy
when you think how far we've come in other areas, particularly in
recent years.
The process then becomes iterative, one of achieving higher degrees
of decoupling on each release. One thing I've found: that the
underlying data model of the application has to be flexible enough, be
completely isolated (as a module) and relatively abstract, not just to
evolve itself but also to allow the developer to change everything
that's "on top" of it and improve the structure of the application
without affecting users, etc.
Yes, this is relatively "common knowledge", but I'm a bit
frustrated at the moment because I know how things "should be"
structured in the code I'm working on but I also know that time is
limited, so I make some improvements and move on, leaving the rest for
the next release.
Final thought: Until major development tools fully incorporate the
concept of modules into their operation (and I mean going beyond the
lame use of, for example, things like Java packages in today's Java
tools), until they treat a piece of user interface as more than a
source file (so far, all of the UI designers I've seen maintain a
pretty strict correspondence between a UI design "form" and a single
file/class/whatever that references everything else), it will be
difficult to get things right on the first try.
Unrealircd modules
Unrealircd modules
01/25/2004 04:13 PMupdated modules
E-Xoops Modules
E-Xoops Modules
01/02/2004 07:17 AMWelcome
Tivo VLC modules
Tivo VLC modules
03/26/2005 04:46 PMTivo VLC modules first release
XML 4 Merge Modules
XML 4 Merge Modules
09/19/2004 05:52 PMMORE Blog modules!
MORE Blog modules!
07/07/2004 12:55 PMImagine my shock and delight as I trolled through Roland Tanglao's page
yesterday and discovered Flickr's
'Zeitgeist!
It's YA blog gutter display module - picking up where Laszlo's
Photoblox leaves off. Now instead of having to build XML files of
your slide show/photo album - it takes the images directly from your
Flickr collection - PERFECT!
Another win for integration! Aren't built-in
constructs fun - once you KNOW they're there?
Then I found a post by Stewert Butterfield on it. This all
happened while I was down and off-line (fighting malware), so my
apologies to Stewert and the rest of the Flickr team.
Great job guys and gals!
Now my Flikr photos get sent to this coolio checkerboard, puzzle
display (even if it's done in Flash - it's still cooolio - the Flickr
people are Flash masters.....)
My only request is for a larger and even largest size. I can get
over 50%-60% more display space in my gutter! I hate wasting
space.
Here's Stewert's
post.....
Everyone once in a while it is good to have fun. So, we made
the widget which is currently over on the left of this page, the
daily zeitgeist.
It's the first step towards making all kinds of slices through the
giant pool of photos. This one grabs a selection of recent photos to
cycle through and pops new ones in as they are uploaded.
MOM FAQ: NetIQ AppManager Modules
MOM FAQ: NetIQ AppManager Modules
04/11/2004 05:02 PMKernel Modules that Lie About Their
Licenses
Kernel Modules that Lie About Their
Licenses
04/27/2004 11:54 AMInstalled Perl Modules in RSS
Installed Perl Modules in RSS
07/09/2004 08:32 AMAnother interesting use for RSS for your delectation and pleasure.
This one is for Perl coders, and is proving deeply useful. Installed
Perl Modules in RSS. Automatically listing which modules you have
installed yourself, and linking to their documentation. Very...
Gutter modules redux
Gutter modules redux
07/22/2004 01:30 PMJulian Bond has submitted a great
idea to the LazyWeb - I guess assuming that one Ben Hammersely will jump
through the proverbial hoop and hack it right up - with some of those
sexy shell scripts he and Danny O'Brien love to talk about.
Here's Julian's
idea......
Imagine a block in the margin of Joi Ito's weblog.
Last update: 9:23am.
Location: Geneva Airport.
Listening: Monkey Radio.
Last seen in IRC: Channel #joiito 1m43s ago.
Phone: On a call.
Last Meeting: Davros.
Next meeting: Supernova.
Mood:Inspired
That sounds like to me - a lot of what MeNowDocument could
handle, with new kinds of micro-content inside of it, with new kinds
of collaboration inspired by it.
It also reminds me of a contest we tried to do with CMP back in
'95-'96 "Where's
Barlow?".
All in all - I'd say blog gutter stuff is coming into it's own.
Credit Jason DeFillippo with much
of this. His Blogrolling.com (now owned by Tucows) was the first
service I ever saw which utilized this idea of blog gutter
'stuff'.
I was so inspired - I came up with a wh
ole strategy for Jason.
So now we have Tribe Cast, Ping.net, Blogshares, Technorati,
Laszlo's BlogBox and various forms of RSS feeds.
Isn't life getting interesting?
Oh yah - and Google AdSense.
Payroll Perl Modules 0.7
Payroll Perl Modules 0.7
07/30/2004 07:21 PMA Perl API for calculating payroll taxes.
Modules drop in for v1.2 Bluetooth
Modules drop in for v1.2 Bluetooth
06/17/2004 05:09 AMElectronics Talk Jun 17 2004 9:52AM GMT
Rukus Industries CMS modules
Rukus Industries CMS modules
06/16/2004 10:10 AMWelcome to the project site!
Linux: the GPL and Binary Modules
Linux: the GPL and Binary Modules
12/08/2003 04:38 AMInterBase 6 Merge Modules
InterBase 6 Merge Modules
09/11/2004 02:15 PMPayroll Perl Modules 0.8
Payroll Perl Modules 0.8
08/12/2004 10:17 PMA Perl API for calculating payroll taxes.
Childsplay 0.71 (Game modules)
Childsplay 0.71 (Game modules)
06/29/2004 12:23 PMA suite of educational games for young children.
Childsplay 0.70 (Game modules)
Childsplay 0.70 (Game modules)
06/08/2004 05:23 PMA suite of educational games for young children.
AVRbased Robotic Modules
AVRbased Robotic Modules
04/12/2004 01:00 PMRelease of AVR ISP
Payroll Perl Modules
Payroll Perl Modules
01/19/2004 04:16 PMPayroll 0.6 released
A MacPython question about modules: the
default OS ...
A MacPython question about modules: the
default OS ...
10/31/2003 07:24 PM
A MacPython question about modules: the default OS X install
of Python is in /usr/bin. MacPython gets installed into
/usr/local/bin. If a module (say, for instance, the MySQLdb module)
is set to install for the default Python directory, how do I get the
module to be recognized by the MacPython install?
Does that question make sense? Discuss
4:56 PM
| Chris
Cummer
Building Good CPAN Modules
Building Good CPAN Modules
04/14/2005 07:14 PMYour code is amazing. It works exactly as you intended. You've decided
to give back, to share it with the world by uploading it to the CPAN.
Before you do, though, there are a few fiddly details about
cross-platform and cross-version compatibility to keep in mind. Rob
Kinyon gives several guidelines about writing CPAN modules that will
work everywhere they will be useful.
HP Recalls Notebook Memory Modules
HP Recalls Notebook Memory Modules
06/25/2004 03:39 PMHewlett-Packard Corp. said Friday that it will replace memory modules
in its notebooks that suffered from an "industry-wide" design flaw.
SyChip gains Palm OK for Wi-Fi modules
SyChip gains Palm OK for Wi-Fi modules
07/15/2004 10:31 AMMore WLAN-enabled Palm OS PDAs on the way?
Meilhaus Device Driver Modules
Meilhaus Device Driver Modules
04/20/2004 08:34 AMPython extension for ME-4000 released
Childsplay 0.80.1.1 (Game modules
branch)
Childsplay 0.80.1.1 (Game modules
branch)
03/19/2005 03:22 AM

Childsplay is a suite of educational games for young children. It aims
to be more games-like than gcompris.
Changes:
A bug in the "FindLetters" game that could crash the whole application
has been fixed. This only affects GNU/Linux users.
Downpour: BitTorrent Modules for Perl
Downpour: BitTorrent Modules for Perl
01/02/2005 04:11 PMProject Approved
Simon Cozens' Modules Need New
Maintainers
Simon Cozens' Modules Need New
Maintainers
09/16/2004 07:20 PMAndy Lester writes "Simon Cozens, the not-entirely-mad genius, has
left for God School. He's retiring from the CPAN, and leaving his
legacy of Perl modules behind. I've stepped up to take on the task of
making sure his 100 modules don't fall into disuse, ...
Modules idea for university entry
Modules idea for university entry
04/29/2004 01:18 PMEngland's exam boards and regulator are considering ways to
distinguish the best university applicants.
Grok Description matches for Jon's Python modules
GrokA matches for Jon's Python modules
Jon's Python modules