Tao of the Machine

Programming, Python, my projects, card games, books, music, Zoids, bettas, manga, cool stuff, and whatever comes to mind.


New versions of Wax and Charm are available in the download area. (What is Charm?)

One might wonder what the deal is with all these unfinished and unstable projects. :-) The situation is, that they are not ready yet for prime time... they have missing features, possibly glaring errors, unrefactored code, etc. However, they are usable. Charm isn't quite done, but I'm using it to edit my code, also for work, and I've been doing so for several months. The same for Firedrop... I have been managing this site with it for a few months now. Both of them use Wax, which is even further away from a 1.0 release, but which happily powers these programs nonetheless. Oh, and then there's Testipy and Sextile...

So, I hope that all these projects (and some others) eventually will earn the "stable" status. With help from others, this will go a little faster; but while contributions are greatly appreciated, the projects will still live without them.

In the meantime, if you write code based on a certain Wax version, it may be safer to keep that version around... backward-incompatible changes *may* occur in the future. I will try to keep this to a minimum, but the version number is 0.1.x for a reason. :-)

Posted by Hans Nowak on 2003-09-29 23:58:28   {link}
Categories: Wax, Charm

Things and stuff...

I uploaded some thingies to the download area... this includes development versions of Charm and Firedrop. These programs have been usable for months, but the problem was (and still is) that there wasn't sufficient documentation. Maybe I can get around to writing some, one of these days.

I also uploaded the latest version of Wax, 0.1.32. Like I said before, there's also a wiki now, currently with a bare minimum of information.

Nobody Not many people seem to like the "Self-style" objects. :-) I am currently pondering some use cases for this. One area where they could be useful is adventures/interactive fiction. Long ago I found that traditional classes are not a really good match for laying out an adventure's rooms, characters and objects... maybe Self-style objects will fare better.

The nice thing is that you can "isolate" certain behavior (methods and attributes) in an object, and then grant any other object access to this behavior by making the original object its parent. Objects don't have introspection, cloning facilities, etc, but you can add them at will whenever necessary. This allows for an entirely different design than traditional classes.

Posted by Hans Nowak on 2003-09-25 23:33:50   {link}
Categories: Charm, Wax, Firedrop, Python

A lot of wholesome Python goodness

OK, I probably shouldn't do this, since it's not ready for prime time yet. Not quite. But what the heck. Here's a development release of Charm.

I added a category for Charm, since it's getting quite significant (for my own coding, that is). A project at least as important as Kaa.

What is Charm? It's an editor; some would say an IDE. It's written in Python of course, and like many of my projects, it heavily uses Python's dynamism and introspection. It may not be interesting to you at all, but for me, it's rapidly becoming the #1 Python development environment. That is because it does what *I* want. *You* may have very different ideas about what an editor/IDE should do. So be it then. Charm is not for everyone.

Some of its features are:

  • tabbed editors. (vim is cool, but I was getting really tired of having 20 different windows in my taskbar. Because of the clutter, you cannot see which file belongs to which window.)
  • command line a la vi (although it's rudimentary right now; supports ":" (jump to a line) and "!" (execute command or current file). (No, it is not my goal to emulate all vi commands.) In addition to the tabs, there's a file selector.
  • get quick Python help in a new window (page).
  • view a Python (standard library) module. (May seem insignificant, but how many people actually browse the standard library? This feature should help. It opens modules read-only to prevent accidental overwriting.)
  • execute (the current) Python file in a separate process.
  • wxStyledTextCtrl with folding, whitespace viewer, indentation guides, EOL indicator, cut/copy/paste, undo, syntax highlighting, and many more goodies (not all of which have been integrated yet). (Obviously, it uses wxPython.)
  • integrated Python shell (PyCrust and PyCrust with Filling). Open as many shells as you want, they all get a separate tab. You can also open a shell and import the current module in it, for inspection.
More features are coming up. What it doesn't have, and probably never will, is integration with a debugger. I don't use debuggers. <shrug> As said, Charm may not be for everyone. Download it, play with it, but don't expect too much.

One more warning/tip: You may not like my hideous color scheme, or my settings. Look at options.py to change them.

Posted by Hans Nowak on 2003-01-07 00:22:03   {link}
Categories: Charm

Generated by Firedrop2.