Robotize ME!

Hiatus

I’ve taken a brief hiatus from Robotize me to check out another web server: Hiawatha. Its pretty nice - very small and feature packed.

I’ve also been doing some hosting work with mysql-proxy and varnish, which are very nice services. I’m planning to integrate those into the mindeb, nodows, and hypermagnet projects I’m also working on.

RobotizeME License

I’ve chosen the license for Robotize Me - BSD:

 Copyright (c) 2008, Savonix Corporation

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Savonix nor the names of its contributors may be used to
   endorse or promote products derived from this software without specific
   prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

tDom Ranks High

After spending some time getting nsxml.c to work, I’ve revisited tdom for parsing the fence file, and it works great!

I may end up reverting everything back to nsxml.c, but I like that nsxml.c is an internal component for AOL Server. There’s something quite cool about that.

Anyway, I also heard back from Dossy about my nsmysql.c question. I took the suggestion of installing libmysqlclient14 and -dev, but still no go. I was surprised I had to go all the way back to sarge to get those libs on lenny. I responded back to Dossy with thanks for the quick response, as wel as a follow-up question: does it make sense to try and update the bindings to libmysqlclient15?

PostgreSQL

After struggling with nsmysql for a few days, I gave up and tried the somewhat foreign (to me) postgres driver. So far it works great, and it worked out of the box which is nice.

And since Robotize ME! is certainly a discourse in new tidings, I’ve decided to use Postgres as the database of choice for now.

Now to get some actual queries going!

Nsxml Works!

We’re good to go. I got nsxml.c to load a file directly. Now its time to clean up the code.

TODO:
  • Use ns_xml file syntax
  • Remove 1.x syntax and documentation
  • Remove unused code
  • Clean up documentation

First the Good News About Ns_xml

The good news about ns_xml is that its fast. In general, I’m quite impressed with how quick AOL Server is, but the raw, off-the-cuff speed measurements I’m getting with ns_xml are great.

The bad news is that the module needs some serious work. Its a bit dated - looks like the last work done on it was about 5 years ago. There are a few “must haves” missing - like the ability to directly parse and XSL file, instead of an XSL string.

Now back to good news! This is a great opportunity for me to learn some more C. I’ve been dabbling a little here and there, and I’m quite familiar with libxslt, so it should go along fairly well.

A side note - its possible that with the speed of ns_xml matched with the solid threading of tcl and the database pooling of AOL Server, this could be a very good application server!

How cool would that be to be able to run apps on PHP, Python, perl, and wait for it… tcl!??!

Progress With TCL

I think I’m finally starting to make some progress with TCL. Its quite different than the other scripting languages that I’m used to (PHP, perl, python), so its going to take a little bit of getting used to. Thankfully its fairly simple in its nature. :-)

At the same time I’ve been exploring the tcl API available from AOL Server, and there is a lot of handy stuff. I’m surprised that its not more popular as as web application development platform.

Robotizer

Thanks for stopping by. Just launched! More to come…