2004-11-11 02:11
Pathologically Polluting Perl : Using Inline::*
Nice quick introduction to using Inline::C and friends
2004-11-11 01:13
ActiveState O'Reilly Python cookbook code samples ratings review
Code samples
2004-11-11 00:36
Dirt Simple: Generic Functions have Landed
I now have a semi-stable generic function API in PyProtocols CVS. This is the same stuff I blogged about on Sunday, but now in a much more usable state, supporting all of Python's esoteric function argument capabilities like default values, variadic and keyword arguments, and even nested tuple arguments. Still no CLOS-style method combination stuff (before/after/around methods and call-next-method), but I'll get to those later. > >For now, I'm going to focus on trying to actually use generic functions to refactor some things in PEAK that are a little awkward to do with interfaces, but should be much easier with generic functions.
2004-11-11 00:00
Ned Batchelder: The history of UTF-8
Looking up some details of UTF-8 in the always-fabulous Wikipedia, I found this choice tidbit: (more..)
2004-11-10 23:08
advas.sf.net
Tools to build a search engine in Python
2004-11-10 22:45
hackdiary
I like open source software, open data, music and radio, mobile and wireless, Unix, distributed computing and messaging, REST, hardware hacking, PVRs, iPods, python programming, digital photography, RDF, semi-structured content and corpus analysis, findin
2004-11-10 22:19
Natural Language Toolkit
Python language analysis
2004-11-10 22:16
Dirt Simple: "Retroactive Abstraction"?
Update as of 2004/11/10: the examples below have been changed to match the latest generic function API in the PyProtocols CVS. Also, I've removed some text that referred to limitations that no longer exist. While looking for some info on the Chambers and Chen predicate dispatch algorithm, I stumbled across an interesting Java paper: Half &Half: Multiple Dispatch and Retroactive Abstraction for Java. In the paper, they talk about a concept called "Retroactive Abstraction", which sounded really interesting until I realized that it basically amounted to being able to declare that a class supports an interface, somewhere outside the source code of the class.
2004-11-10 22:08
shrevey's xanga blog...over 300 songs
many songs to listen and download, blog, punk, indie, emo, classic rock, ska, classical, oldies
2004-11-10 21:58
bluecypressMediaWiki : PythonMiniServer
Has a few tweaks to add support for last-modified to Python's CGIHTTPServer
2004-11-10 20:25
Chapter 9: Tuples
Erin learns Python, continued
2004-11-10 20:07
Mark Paschal: Nintendo DS preview movie (swf)
Oh, man (via Simon Carless) (quick link)
2004-11-10 17:45
Will Guaraldi's Blog: Konfabulator
I knew folks who had Konfabulator installed on their OSX-based machines and enjoyed it thoroughly. I'm not going to wax philosophical on how pretty it is and all that total hooey, but it is pretty useful and does give me the ability to build information-yielding widgets that Windows otherwise doesn't have. Right now I'm using the weather widget and the todo item widget (both ship with Konfabulator) and I stick them on my other monitor (I'm running a dual-monitor setup at work). I can glance over and see my email client, the quick todo list, and the weather outside all on one screen. It's been really useful so far.
2004-11-10 14:51
Efectos Especiales: C# iterators
The Daily Python-URL notices the article For Each++ Iterators in C#, describing Python-like iterators (well, as far as that sort of thing goes in C#). That reminds me of something Guido wrote a while ago: It was nice enough to compare the yield statements in Python and C# (they are very similar, even though C# quotes CLU as the origin rather than Python :-), but for me the high point of the evening was Miguel de Icaza's excitement over Python's feature which makes text files iterators yielding the lines of the file in succession, so that you can write for line in open(filename): ...process line... ...
2004-11-10 14:15
Making It Stick (Patrick Logan): C# or Java as Target Languages
An interesting post to comp.lang.lisp on generating code for C# (or Java)... I am continuing to evolve a system that generates business applications for .NET in C#... it is giving us about a 10-1 productivity gain... Why do we not just use Lisp as the delivery language? It comes down to components. .NET (and Java) have huge choices of commercially available components for GUI, Infrastructure, Database, ...
2004-11-10 13:20
Ned Batchelder: Syntax of the res: protocol and some known related issues
This is just here because I seem to search for it every few weeks, and now I'll know where it is: INFO: Syntax of the Res: Protocol and Some Known Related Issues.
2004-11-10 12:55
Ned Batchelder: Konfabulator
Konfabulator is a cross-platform desktop widget system. It started on Mac OS X, but has recently been ported to Windows. Widgets are written as zip files containing XML, JavaScript, and images, and they can run on either operating system.
2004-11-10 11:00
Peter Bengtsson: Add links to a text (take II)
If you missed the entry about Add links to text with URLs I suggest you read that first. This script has now been improved with bug fixes thanks to David Otton and Flump Cakes. ...
2004-11-10 10:55
Zope Dispatches - Paul Everitt: Open source businesss models and whole products
I'm giving a keynote Nov 19 at the Calibre conference in The Hague. They asked for the presentations in advance, so I sent mine in on Monday. The main reason they asked me to do the keynote is to review the decision to open source Zope (Principia) made 6 years ago. So, around 2/3 of the time will be spent on that.
2004-11-10 07:25
Living Code: Packaging Frameworks
Packaging Renaissance applications (or any other frameworks) takes a bit more care than just wrapping your Python scripts. Today's exercise helps us get our apps out into the world. > >Now that we can build cool OS X applications with Python and Renaissance, it would be cool if we could share them with others, wouldn't it. And that stumped me for a bit.
2004-11-10 06:56
Ted Leung on the Air: Switched DSL providers (again)
We're trying out a new DSL provider, speakeasy.net. Last time we switched to get relief from bandwidth metering. This time we're switching because it costs less, has a much higher download speed, but a slightly slower upload speed. Please comment if you perceive that this blog (or Julie's) has slowed down.
2004-11-10 06:15
Ted Leung on the Air: svk installer for OS X
During OSCON back in July, I wrote a bit about svk, an interesting version control system that can act as a proxy for Subversion and CVS. svk allows you to use a subversion like command set, and allows some of the distributed features of systems like arch or bitkeeper. I've been interested in playing with it, and got as far as installing the Debian packages for svk on one of my Debian boxes.
2004-11-10 06:04
Making It Stick (Patrick Logan): Queueing Fits
The Amazon queue service apparently has an undesirable use of HTTP. Seems like the design is aimed at being simple on the surface but not logical down deep. Josh Sled provides a fairly simple Python implementation that is more RESTful. The implementation as well as the client code gets more complicated if you'd like it to be reliable, but the Amazon service provides no better guarantees. Queues are nice.
2004-11-10 05:55
Making It Stick (Patrick Logan): Nonstop Languages
Catching up some more on old items in the queue. The title in this Register article refers to a "forgotten language" being used in "nonstop gadgets". Maybe we should refer to Lisp and Smalltalk as "nonstop" languages. How does it achieve this magic? OOVM's technology comes in two parts, a VM and a development environment, and it uses Smalltalk, rather than modern-day kludges such as Java, which resembles a modern object-orientated environment in the way that a pub ashtray resembles a cigar store. He has 18 years experience developing virtual machines.
2004-11-10 05:50
Making It Stick (Patrick Logan): Appropriate Benchmarks
Catching up on some items, this one came through when I was on vacation a few months ago. Jon Udell wrote... "When you think about it," Hugunin said, "why would the CLR be worse for dynamic languages than the JVM, given that Microsoft had the second mover advantage?" And in fact, while he had to do plenty of extra work to support dynamic features that the CLR doesn't natively offer, he notes that the massive engineering resources invested in the CLR make it highly optimized along a number of axes. So, for example, the CLR's function call overhead is apparently less than the native-code CPython's function call overhead, and this is one of the reasons why IronPython benchmarks well against CPython. I am not sure I would use CPython as the benchmark for dynamic language performance.
2004-11-10 02:57
Living Code: Housekeeping
Various small improvements. Switched the template so code doesn't run off the edge so easily. Fixed whitespace, which I forgot to do after switching the template (thanks, Xavier, for pointing that out!).
2004-11-10 02:00
M. Willis Monroe: Late night shopping
I just got back from shopping at sainsbury's late at night, which is my favorite time to go grocery shopping. I found a new chair in the trash.
2004-11-10 01:05
Andrew Channels Dexter Pinion - Andy Todd: Deploying Mappings in Oracle Warehouse Builder
I just fell into a trap for young players, and spent a good couple of hours this morning trying and failing to deploy a mapping from Oracle Warehouse Builder to my development environment. As an aide memoire and general help for anyone else in the situation here is what you need to do to deploy a mapping. For those new to Warehouse Builder beware that it has quite a complex internal model of the world. This allows it to support all kinds of different implementation models and configuration management scenarios.
2004-11-10 00:17
JotSite - Hoang Do: The Journey or the End-goal
The journey is more enjoyable and valuable than the end-goal. Pause and soak in life as well as smell the roses when you get the chance. I need to teach myself that lesson.
2004-11-10 01:06
For Each++: Iterators in C#
My favorite construct in the C# programming language has to be the foreach loop. I can enumerate rows in SQL Queries, nodes in XML documents, ArrayLists, and Hashtables, all without mucking around with a single loop conditional. But I don't use it as much as I should in my own programs because writing the code to support foreach is tedious and dull. So I was happy to find that in C# 2.0 the dreary work is largely a relic of the past. The introduction of iterator functions reduces the backing infrastructure for foreach to a single function. Iterator functions are a pretty new idea in the mainstream software world, but they've been around for awhile in academic languages like Icon and Python. A lot of really interesting uses have been pioneered in Python, and it's pretty easy to apply these ideas in C#. Poking around Google I turned up everything from abstract state machines to lightweight thread scheduling. I have a feeling a lot of techniques are still waiting to be discovered.
2004-11-10 01:05
Pixies
Pixies is a formatter that converts XSL-FO documents to PDF. It is written in Python and is particularly focused on the production of PDF files from DocBook documents. It uses ReportLab.
2004-11-10 01:04
The guy with his top off in the Ubuntu pre-release desktop
Ubuntu! Ubuntu! The most fun to say Linux distribution since Knoppix! October's release of their spaceman-funded Debian offshoot was generally well-received: a fine installer, multiple hardware platform support, a clear community commitment, and the compulsory installation of a "Bicycle Repairman" package. However, not everyone was so cock-a-hoop about Ubuntu's original gdm theme, which featured a man and a lady and another lady in their underwear on the login page. Then, later, the same man and two ladies appeared on the desktop, hugging without many clothes. Cue much furore on the community lists. One correspondent was particularly concerned that the Guy With The Two Babes might actually be Python-loving millionaire astronaut Mark Shuttleworth himself. Even the most secular are prone to the sin of jealousy. It's one thing to be the luckiest person in the world, quite another to rub it in like this.
2004-11-10 01:03
Python vs Parrot
In many ways, it seems like Python and Parrot are from different planets. In Python, the general approach seems to be to reduce everything possible to a canonical form as early as possible, and then deal with everything consistently. In Parrot, the general approach seems to be to leave everything in its original form as long as possible, and then deal with everything separately.
2004-11-10 01:00
lrucache
This package provides a simple but efficient least-recently-used (LRU) cache module. A single class, LRUCache, with a container interface, provides prioritized caching. The implementation uses a heap and a dictionary to provide quick inserts, deletes, and references.