Tags related to tag meditation
Monday, March 27. 2006
2 New Software Releases: Meditation (0.6) and DokuMintTea (v0.1)
I have finally pushed through 2 software releases. These have been on the plate for a long time.
Meditation version 0.6
While not a 1.0 release, this is a pretty significant milestone. There are some pretty major changes here. I won't go into all of them, but meditation is really moving twards a true REST API Framework, rather then just a chunk of PHP that is just good HTTP. Some of the features are:- Processors for HTTP authentication (basic, digest, wsse)
- Procedural Interface for Request Processors
- Request Entity Parsers, meditation can now handle Request Entities of any type, as long as you build the Content Handler for it.
- Handles HTTP Method over-riding through request parameters (http header, query string, etc.) via X-Rest-Method.
- A new Gate Persistor was built (SqlGatePersistor), while it is still abstract, it fills in most of the details. MySQL, PostGreSQL, or Oracle based persistance mechanisms should be easy to build on top.
- General Code Cleanup
DokuMintTea version 0.1.1
A PHP API Documentation Generator, that outputs to DokuWiki Pages. This project was highly coupled with meditation, but a significant portion of that coupling has been removed. Finally DokuMintTea can start to stand on its own 2 shakey legs. A very Alpha quality release, but a cool documentation project regardless. The biggest features are:- Uses the built in PHP reflection classes, so that most of the attributes of your code are taken from your code... no more @public, @private or other assorted crap.
- A slim set of @directives.
- Outputs to dokuwiki syntax and therefore you can embed wikilinks, code, or lists right into the comments. Because wiki syntax mostly looks nice, it looks good in both places.
Thursday, March 2. 2006
DJ is Mixing, Coder is Coding.
More a general Meditation/Wife status report than anything else.
Last night I was hacking away at a new project I call MyRestSql. MyRestSql is a REST interface to a MySQL table that is programmed using the Meditation Framework. It is (again) a dogfood eating exercise, but it might be useful to some other folk out there. Currently the only request it answers is GET, but I'll be implementing DELETE, PUT and POST soon.
I've also tried to make it as modular as possible. Currently MyRestSql talks to a MySQL database, and outputs XHTML fragments—in a micro-format where ever possible. However, there is absolutely nothing stopping anyone from implementing a PostgreSql backend, or an XML front-end. I've tried to make that as easy as possible.
Right now the code exists in the meditation SVN repository only. But it will be available once Meditation 0.6 comes out.
All this was done to the soundtrack of my wife mixing rekkids. She beat-mixed more then a few times. You might think that hearing the same few songs being beat-mixed—sometimes successfully, sometimes not—would get on ones nerves, but this was far from the case. It felt really good. I was creating code, she was creating music (well how much a DJ is creating is an argument for another day). It felt really good for us to both be engaged in something deeply creative. We were jamming.
Last night I was hacking away at a new project I call MyRestSql. MyRestSql is a REST interface to a MySQL table that is programmed using the Meditation Framework. It is (again) a dogfood eating exercise, but it might be useful to some other folk out there. Currently the only request it answers is GET, but I'll be implementing DELETE, PUT and POST soon.
I've also tried to make it as modular as possible. Currently MyRestSql talks to a MySQL database, and outputs XHTML fragments—in a micro-format where ever possible. However, there is absolutely nothing stopping anyone from implementing a PostgreSql backend, or an XML front-end. I've tried to make that as easy as possible.
Right now the code exists in the meditation SVN repository only. But it will be available once Meditation 0.6 comes out.
All this was done to the soundtrack of my wife mixing rekkids. She beat-mixed more then a few times. You might think that hearing the same few songs being beat-mixed—sometimes successfully, sometimes not—would get on ones nerves, but this was far from the case. It felt really good. I was creating code, she was creating music (well how much a DJ is creating is an argument for another day). It felt really good for us to both be engaged in something deeply creative. We were jamming.
Wednesday, February 22. 2006
Free Mailing Lists: Freelists.org mini review.
I just set up a new mailing list for Meditation, with this great service called FreeLists
First of all, mailing list management can be done either through email (through some cryptic commands) or through a web interface. The web interface seems a little klunky (it isn't easy to use) but full featured (every option to the mailing list software is covered). For better and worse, it seems to be a front-end interface to everything inside Ecartis (the mailing list software). What this means is pure, un-restrained power and control is given to the user. What it also means is a lot of head-scratching about the options. Luckily the freelist people provide some useful defaults, and good help files.
Now we get into the funkiness. Each list has its own web-page like this one for Meditation. The subscribe-via-the-web is a nice and handy addition. As you can see, each list has an archives section, which is viewable by date and/or thread and searchable. And perhaps best of all, each list is given an RSS feed of the last 16 posts. This is hella cool, allowing you to integrate your latest postings on the mailing list with... well... anything. Your RSS reader, your wiki, your blog... the possibilities are wide open.
In the future, I may just switch over to mailing list software I can control on my own server, especially if I find I need an announce list, user list, developer list, and CVS commit list. For now however, having these guys manage it and not having to worry about uptime, configuration and security updates is a-ok with me.
a service providing free, commercial-grade Internet mailing lists to all interested. Our lists are all internet and technology-related. Thus, we provide a free focal point for technology-inclined individuals and groups on the Internet. We do it all without the support of advertisements, ensuring the highest-quality mailing list experience for you and your users.And let me tell you, this service is awesome. Granted, I have only just started using the service so I am hesitant to write a full review (lets wait till the honey moon is over) but I already have some good things to say.
First of all, mailing list management can be done either through email (through some cryptic commands) or through a web interface. The web interface seems a little klunky (it isn't easy to use) but full featured (every option to the mailing list software is covered). For better and worse, it seems to be a front-end interface to everything inside Ecartis (the mailing list software). What this means is pure, un-restrained power and control is given to the user. What it also means is a lot of head-scratching about the options. Luckily the freelist people provide some useful defaults, and good help files.
Now we get into the funkiness. Each list has its own web-page like this one for Meditation. The subscribe-via-the-web is a nice and handy addition. As you can see, each list has an archives section, which is viewable by date and/or thread and searchable. And perhaps best of all, each list is given an RSS feed of the last 16 posts. This is hella cool, allowing you to integrate your latest postings on the mailing list with... well... anything. Your RSS reader, your wiki, your blog... the possibilities are wide open.
In the future, I may just switch over to mailing list software I can control on my own server, especially if I find I need an announce list, user list, developer list, and CVS commit list. For now however, having these guys manage it and not having to worry about uptime, configuration and security updates is a-ok with me.
Monday, February 13. 2006
Meditation Security Fix: 0.5.2
I found a fairly major security issue inside of Meditation (Gate specifically) last night, so I have done up another point release:
Download Meditation 0.5.2.
Download Meditation 0.5.2.
Wednesday, February 8. 2006
Debugging WWW Authentication
I've been working on the Basic, Digest and Wsse authenticators for Meditation (they'll be available in the upcoming version 0.6). I was having some problems with the digest authentication. It is particuarly difficult to debug digest authentication, especially if the authentication fails, because there could be a variety of reasons why things have gone pear shaped. Is your nonce screwey? have you got the header properly set up?
The simplest method I have found is to add a new response header (I used "X-Meditation-Debug") and in that header, output any needed debugging information. Then you can use the Live HTTP Headers firefox extension to inspect what is being passed on both the request and response. Along with the Web Developer extension to clear any existing HTTP authentication, this makes a powerful combo.
I think that the next version Lily will have an option to output X-Meditation-Debug headers at a particular level, say 0-5 for user levels (so application builders can debug their application) and 6-10 for internal debugging.
The simplest method I have found is to add a new response header (I used "X-Meditation-Debug") and in that header, output any needed debugging information. Then you can use the Live HTTP Headers firefox extension to inspect what is being passed on both the request and response. Along with the Web Developer extension to clear any existing HTTP authentication, this makes a powerful combo.
I think that the next version Lily will have an option to output X-Meditation-Debug headers at a particular level, say 0-5 for user levels (so application builders can debug their application) and 6-10 for internal debugging.
Wednesday, February 1. 2006
Meditation 0.5.1 is Out!
I'm very pleased to announce that Meditation 0.5.1 is out, the PHP5 REST API Framework. There was a 0.5 release, but I found some bad bugs that needed fixing.
Download the Latest Version
View the Documentation
The new features are:
Another big feature is the addition of RequestProcessors. These are executed before the RequestHandler, and are useful for request parameter mangling (altering pathinfo and query strings), authentication (Gate uses RequestProcessor), etc. They really are quite flexible.
Finally, I've been writing documentation like a madman. I still need to write more documentation on Object Oriented meditation, so watch out for that.
Download the Latest Version
View the Documentation
The new features are:
- Fixed Naming inconsistencies. Files containing classes are now uppercased
- Updated in-class documentation for Lily and Lotus
- Added build files to SVN distribution
- Implemented the new 3rd party application authentication feature (Gate)
- added request processors
- added example processors
- added an example resource (ExternalAuthExample.php) and its template
- checked to make sure configuration directives haven't already been defined in config.php.dist
- removed requestable.php, and replaced it with RequestHandler.php
- Fixed a bug in lotus where the session id was always passed, even to external sites
Another big feature is the addition of RequestProcessors. These are executed before the RequestHandler, and are useful for request parameter mangling (altering pathinfo and query strings), authentication (Gate uses RequestProcessor), etc. They really are quite flexible.
Finally, I've been writing documentation like a madman. I still need to write more documentation on Object Oriented meditation, so watch out for that.
Thursday, January 19. 2006
Meditation 0.4 is out
New version is out. Pretty big changes. I have decided to drop PHP4 support. PHP5 has been out for ages now, so its time to start using it. Here is the changelog:
Overall Changes
- DROPPED SUPPORT FOR PHP4
- added a single-point-of-inclusion (meditation.php) so it is easier to use
- added a config file
- added exceptions
Lotus
- made lotus a better class (throws exceptions, proper encapsulation)
Lily
- changed includes to requries for the templates
- added configuration controls so lily will catch exceptions and/or errors, and display an internal server error
- added special template methods for above error/exception catchers
- removed isSkinned() method
- added redirect 3xx functions, more to come.
- better encapsulation
(Page 1 of 2, totaling 11 entries)
» next page




