revjim.net

March, 2003:

Wedding Directions

For those of you that will be attending the wedding, it starts at 2:00pm on Saturday. Plan to be there about 10 minutes early. Also, remember that this is a race weekend, so there might be a considerable amount of traffic since the JP’s office is so close to Texas Motor Speedway.

The JP office is at:

816 N Hwy 377
Roanoke, TX
map

The reception will be held at my parents house, immediately after the wedding. Those of you that are attending the wedding, can merely follow someone over. For those that aren’t, 3:00pm should be a reasonably safe time to arrive, at the earliest. If you get there and no one answers, just wait. We’ll be there soon.

My parents address is:

1552 Sarah Brooks Drive
Keller, TX
map

The wedding is Semi-Formal… if that. Wear whatever you want, really, though sandals, daisy dukes, and a halter top might cause the judge to stutter a bit. The same goes for the reception.

We aren’t registered anywhere, we didn’t really have time. In retrospect, I wish we had, Can you register at the BCIS (Bureau of Citizenship and Immigration Services — former INS)?

If you have any questions, need better directions or get lost, these numbers may be helpful as my access to email may be limited for the next few days:

Home phone: 972.869.0556
Cell phone: 972.841.8105
Jess’ Cell phone: 972.849.9041
Parent’s house: 817.428.6381
Mom’s cell: 817.874.4515
Sister’s cell: 817.874.6381

Thank you to all of you who will be attending and to all of those who have wished us well. We’ve been so busy I haven’t had time to personally reply to all of you, but I will.

Invitaion

Attention (in no paticular order): Brad, Morgan, Zoe, Justin, Bonnie, Josh, Erica, Max, David, Julie, Jason, Teresa, Alex, Sheradyn, Joel, Emily, Lisa, Mike, Sean, Amanda, Mike, Rachel, Matt, Kim, Mel, Pat, and Nick.

Mr. and Mrs. Papa Reverend Jim request the honor of your presence at the ceremony uniting

Miss Siva Tonight

and

Mr. Reverend Jim

on

Saturday, the twenty-ninth of March, two thousand and three

at

two o’clock in the afternoon

at the Justice of Peace office in Roanoke, TX.

Reception will follow at the house of Mr. and Mrs. Papa Reverend Jim.

RSVP via email, telephone, or personal apperance as soon as possible in order to ensure that accomodations can be made.

Location information and detailed driving instructions will be provided to those who respond.

to be open

It’s been so long since I’ve written anything really personal here. I just feel like this isn’t the place for it anymore — like I need to go somewhere else to get those personal aspects out. I feel like this has become the part of me that I’m not afraid of showing people, and that my secrets should be kept that way: as secrets. Sometime last year I started Amorphous thinking that I might feel more freedom to write there, but the technicalities involved with drawing a straight line in the middle of my life and saying “These things go here and those things go there” just became too difficult. So I’ll write this here, I guess.

When Jess finally made it back into the US toward the end of January, I knew it was only temporary. I knew that, in a little more than two months, she’d have to go back to Canada. And I knew that, when she was able to return, it would only be harder for her to get back into the US. For some reason, it didn’t really phase me then. We talked a little, made pseudo-plans to attempt to get her enrolled in school here, and that was good enough to satiate me then. I felt like I was doing something even though, in reality, I was doing nothing at all.

It wasn’t until two or three days ago that I really realized she would be gone and that, unless INS happen to be in an incredibly good mood, the likely hood of me seeing her here again before September was slim — and even then it was questionable. I panicked. I did. I freaked out inside, though, unless you were incredibly perceptive, you wouldn’t have noticed it. And, in that panic I started an internal debate with myself.

Jess and I had mentioned marriage on and off as an option to avoid all of the INS troubles we were having. Every time one of us had brought it up, Jess entertained the idea seriously. Despite the fact that I’m almost 25 and, in order to meet that list of unwritten requirements society created, should be married and at least considering children by now, I still had this fear of that eternal commitment. Being an individual very opposed to even the concept of divorce, I wanted to make sure that, when I did get married, I was making the right choice. So when we’d talk about marriage, I was seriously considering it, and that scared me inside just a little. But, really, I never actually made that internal choice to do it. It was just a thought; an idea; something to consider.

It wasn’t that I didn’t think Jess was “right”, but that I was afraid being married to her might mean I had to compromise more of myself than I was willing to. The truth was, I couldn’t even think of anything that I would be compromising, or anything that I would be giving up that I hadn’t given up already. I was already committed to her financial support. I was already committed to her physically. I was ready to be there for her regardless of the circumstances, regardless of the difficulty, regardless of what that meant I had to sacrifice. I guess that’s part of who I am. When I’m in a serious relationship with someone, I’m in it with everything I have. And my relationship with Jess is certainly the most serious I’ve ever been in. While it wasn’t until recently that I’ve been able to put a name and a face to the reason why I wasn’t ready, I think it all boils down to a single strand of thoughts that I have.

I like flirting. I like being flirted with. I like knowing that, if I wanted someone, I could have them. I like feeling like I have sex appeal. I like feeling like I am found attractive. I like it when a girl smiles at me. I like seeing naked women. I like knowing that a woman wants me to see her naked. I think about my past girlfriends and relationships, and sometimes even recount in my head the explicit details of our physical activities. I could go on and on…

I haven’t always had these thoughts. In fact, when I lost my virginity to Amanda at the age of 19, I didn’t have thoughts like these. Sure I was still your typical 19 year old boy who enjoyed flipping the pages of the Victoria’s Secret catalog every once in a while. But it wasn’t the same. I’m not quite sure how the thoughts progressed or where they came from, but it certainly didn’t happen overnight, and I’ve been having them since well before I started dating Jess.

Now I know I’m not the only man or woman to have ever had thoughts like this. I know that single and dating men and women have these thoughts all the time. However, I’ve never heard nor read of anyone other than the slimiest of men and women having these thoughts while involved in a serious relationship. Therefore, I’ve always felt that, as some sort of sign, when it is time for to get married, I’ll no longer have these thoughts. Either that, or the person I am marrying will be understanding and accepting of them. And, while these thoughts certainly don’t consume my entire being, they are still present. And, while I’ve never made them constantly known to Jess in any fashion, I can tell by the way she handles other situations that she would certainly not accept nor appreciate them.

These thoughts don’t make me uncomfortable when I’m not dating someone seriously. I figure it is a perfectly normal, instinctual, built-in portion of being human; of being a mammal; of being an animal that pro-creates for survival. However, women that you are involved in a serious relationship with don’t really appreciate thoughts like this coming from their significant other. Well, I’ve met a few that do, but not many. And since I’m not a woman, I don’t know if that unacceptance is instinctual, or is part of societal programming, or is simply due to a lack of understanding. However, I do know that my ideal marriage is one of pure honesty and openness. And therefore, these feelings have to either go away, or be accepted if I’m going to be married to someone. Maybe I’m just too idealistic.

So as this internal conflict raged inside me, something in my head clicked, if just for a brief moment, and it all made sense. It wasn’t like the thoughts had gone away, or that Jess suddenly gave me a sign to let me know she accepted them, but, for some reason, they just didn’t seem to matter any longer. And so, deep inside the very depths of everything that I am, I decided that, if she would have me, I would marry Jess.

Jess has a piece of paper (and I-94) from INS that states she must be out of the US no later than April 2nd. With less than two weeks to work with, if we were going to do it, we had to act fast: Get a marriage license Tuesday, marry on Saturday, start the paperwork on Monday, file for her Green Card on Friday. It was already Monday night. Despite all of the crazy plans I had dreamed up since childhood regarding how I would propose when I did it, I didn’t have the time to even think about planning it. I didn’t even have time to pick out a ring. So, I mustered all my courage and asked her in the most romantic and heart-felt way a man with about an hour of planning and less than two hours of time left could: “Why don’t we just get married?”. I was serious, though I don’t know if she realized it at first. She considered it, and said, “okay”. It didn’t even seem like she had to think about it and I really liked that she didn’t.

I barely slept that night thinking about it, and Tuesday morning was filled with nothing but research on what had to be done to make this happen. I spoke with an immigration lawyer to calm my fears and make sure we were doing everything right. Everything was right on track and, in my mind, there was no turning back. The weirdest thing was that I was okay with that. I didn’t have any second thoughts. My feet didn’t drop in temperature by even one degree.

And then Jess told me she couldn’t do it. I was shocked. Truly I thought that if anyone was going to back out of this at the last second, it would be me. She said that, while her father wasn’t telling her she couldn’t do it, he was strongly suggesting that she wait. And, her respect for her father and his opinion is so great, that she had to honor that.

I realize now that I shouldn’t have challenged her. A “no” is a “no” and she doesn’t need any more reason than that when it comes to something this serious and long lasting. And, even if I could convince her to change her mind thorough reasoning, I would then be filled with doubt about her desire to go through with it and worry that she was just doing it so she wouldn’t hurt me. When I came home for lunch we bought her plane ticket home for April 2nd. I was still very shaken up, but I didn’t feel I should argue with her any more. It wasn’t productive and didn’t really matter. She had said “no”. That was the important part.

I went back to work and couldn’t think of anything but this. I didn’t know for sure, but something inside of me told me that she was hiding behind her father in order to remove the responsibility of hurting me by saying “no”. I knew there had to be another reason. This made me uneasy. It made me crazy. I had to know what it was. We argued, we fought, and, when I finally came home from work that evening she was crying.

You see, Jess and I are a lot alike in this respect. Neither one of us wants to hurt anyone else, especially each other. Because of this, neither one of us wants to take the blame when it happens so we hide. We’d much rather manipulate the situation so that someone or something else is doing the hurting. Or, if hurt is inevitable, adjust the situation so that, in the end, we are the one that gets hurt. In this respect, we get to be the victim and live guilt free and yet, we still get what we wanted to begin with.

So I sat down with Jess that night and presented myself and our situation to her more honestly than I believe I have ever been with anyone. I told her that I knew she was hiding behind her father. I told her that I knew there was another reason for this. And, slowly but surely, I told her what I thought the real issue was: she was afraid. She was afraid of putting herself in a situation where she wouldn’t be able to live her life the way she wanted to at the age of 19. She neither confirmed nor denied this as the conversation went on, however, for some reason I went to sleep that night feeling as though everything had been worked out and that not getting married right now was the right choice.

I still had a lot on my mind. I had a lot of things to figure out. I had to get over my pride being hurt. I had to figure out what we would do while she was gone for six months. Should we see other people for that six months to give her a chance to be 19 and free and see if that was the life she wanted right now? She would take the difficult route and maintain a long distance relationship for six months, only to see each other for three months and then enter another state of being apart? What should we do? What would we do? Additionally, all of those worries that I had about the thoughts that run through my head gradually came back. And, with those worries securely in place again, I was convinced that I shouldn’t be married until they either went away, or I was marrying someone who understood them.

A lot has happened since then. Everything’s turned upside down. Jess spoke to her parents a few more times and decided that they really aren’t saying “no” — they just aren’t saying “yes” either. She’s also reconsidered her reasons for saying “no” in the first place, and reconsidered just how affected she’ll be without me for six months. Those twists and turns led us through all of yesterday and this morning. When I went home for lunch today, Jess told me that she had reconsidered everything and that she now thinks we should get married.

Woah! Wait! Hold on!

So now I’m filled with worry that the time isn’t right for me, that she’s changed her mind because she doesn’t want to hurt me, and that we need a lot more time to sort this out. What if I’m not ready? What do I do about these thoughts that I have? If the time were right, wouldn’t they go away? What made me so capable of dismissing them in the first place? Is there a woman out there that I will love as much as I love Jess, that will love me as much as she does, and that will accept these things about me? Is it right and normal to have these thoughts and feelings while in a serious, committed relationship?

Even if I weren’t having these worries, it’s a little late. It’s past Tuesday. There’s no way we’ll get our paperwork in before the 2nd of April. And while that doesn’t really hurt our chances of our marriage being approved and her being allowed to stay in the US, it does mean that, during that time between the 2nd of April and when we do file our paperwork INS can detain and deport her if they can catch her. I do not like even the mere thought of her being considered an illegal alien.

Inklog: stuck again

Why do I always do this? I’ve made such great progress with Inklog and then I stop because I become frustrated with the outcome.

I really like Blosxom‘s method of keeping everything in the file system. It’s easy to use, easy to edit, and easy to backup. And, after careful consideration, I decided that many aspects of Inklog would work like Blosxom.

All of the various nodes are defined in the file system. All of the templates sit in the file system. All of the configuration information is in the filesystem. And they are all directory based and since the web is URI based, which easily translates to directories, it just makes sense. All the “static pages” would be served from the file system. Images would come from the file system. Comments would be stored in the file system. Everything… in the file system. Then I started to adapt this philosophy to weblogging. Under this philosophy, weblog entries should be in the file system too. I had planned an incredibly innovative method for retrieving files that would allow ANY type of content to be uploaded and displayed accurately. It was so incredibly easy and just made so much sense. However, then I started to think it through, and ran into problems.

First of all, every file has to have a unique name in a directory. Those are the rules of a filesystem. A lot of my entries would fall into the simple category labelled “life”. Additionally, a lot of my entries don’t really have a single subject. So a filename, in that case, isn’t that important. However, I have to make sure it’s unique. Using untitled.txt more than once wasn’t going to cut it, and incrementing a number on the end of the word “untitled” wasn’t going to work either. However, that’s something that can be worked around.

I also wanted a way to get an entry into multiple “nodes” or “categories”. Perhaps I post an entry to “photography”, but, since the photograph is humorous, I’d like it to also be listed under “funny”. I figured I could just use a symlink and have Inklog detect these properly. But then I realized I’d like to be able to list all the categories a particular entry was in, and that means recursing the entire filesystem to find them.

Another problem arises when you consider my migration from Movable Type. I’d like to be able to import all of my entries into one category called “uncategorized” and then move them into proper categories as time permits. However, if I move them, the “PermaLink” changes, and that should never happen. Additionally, what if, in the future, I were to re-categorize everything. Again all the permalinks would change. This means I need a place to put the entries permanently. I thought that perhaps I could implement a directory called “2003″ and in it one called “03″ and it in one called “20″ and that would be the permanent location of this entry. That seems to work okay as long as I don’t ever desire to change the date of an entry, which would be pretty rare.

Text searching becomes another problem. I’d have to “grep” all the files in all of the directories to get a list of entries that contained a certain piece of text. Additionally, finding a list of the newest entries would also require this same recursion of the entire directory structure. And, while this can be done fairly quickly, I’m sure it’s not nearly as fast as hitting an RDBMS, though I really haven’t done any testing.

When you consider all of these problems, and their half-baked solutions, it just seems to make more sense to stuff the entries into a database and handle them that way. Of course now you lose all the flexibility of being able to store things in the filesystem. Additionally, it breaks a few of the innovative concepts I had planned for Inklog. For instance, I thought it would be very nice to be able to simply upload a JPEG file to a directory and have Inklog decide how it should be displayed as an entry. Additionally, the display portion for a JPEG would look for a file with the same name but an extension of .jpginfo to find caption information to go along with the image. This means that the database now has to allow multiple uploads per “node”, and that just gets confusing. And then, what if I simply want to include an image inline in an entry? Where do I put it so that Inklog wont decide it’s an item of its own? In the filesystem where it might be mistaken for a node? In the database with some other notation to indicate it shouldn’t be counted as a node? It just gets too confusing. And confusing is the last thing I want Inklog to be.

So I’m stuck. And that frustrates me.

Can you help? Do you have any ideas? Is there something I’m overlooking? Do you use Blosxom? How do you work around these problems?

Inklog: your help is requested

Inklog, the weblogging system that I am authoring, is stuck on one small (yet, oh so large) point, and I need your help to decide what to do. I’m pivoting between MORE flexibility and MORE usability and I need to know how you would prefer your weblog, image gallery, content manager, todo list, DVD collection catalog, and discussion forum software to operate.

I am fighting between making Inklog more FLEXIBLE or more USABLE. Most immediate reactions are to go with more USABLE. However, I’m not sure that the more FLEXIBLE method is really any less USABLE. That’s where you come in. I’m going to give you two scenarios for a method of configuring how your personal weblog acts and functions. All I need you to do is tell me which method you would prefer to use. Additionally, if you can think of other ways to handle the same task, I’d be happy to hear them.

This may be a bit difficult to grasp. Sometimes I don’t express myself as clearly as I should, so please bear with me and ask for clarification in any places that seem difficult to understand. Additionally, please remember that the syntax is not what we are discussing. Instead we are discussing how the system will get from point A to point B.

Introduction

Assume you have a weblog that is broken into categories. You also have a small photo gallery, and a collection of quotations. You’ve decided that, instead of just displaying your weblog entries on the front page of your website, you’d also like to include the folllowing items:

  • The most recent photograph that you’ve placed in your gallery.
  • A random quote.
  • A list of categories from your weblog.

You also decide that you would like those items to appear on every page in your entire site, including your “about me” page.

At this stage, you’ve already designed your site and have two files representing that design. The front page is called frontpage.tpl and the about me page is called aboutme.tpl. Additionally, you’ve made a file called sidebar.tpl that holds the recent gallery image, random quote, and your list of categories. You’ve placed this in a separate file so that you ony have to type out the HTML for that part on every page in your site. Now, all you need to do is tell the system what you want so that it will fill in the blanks in your site design.

Below are the various files that you have written. Where you see notation like {$somevar} you are anticipating that the system will substitute data into that location. It is just like using <$MTEntryTitle$> in MovableType. Where you see the {foreach} style notation it is simply a loop, just like using <MTEntries> in MovableType.

Here is your frontpage.tpl file:

<html>
<body>
<h1>My webpage</h1>
<h2>Front Page</h2>

<div style="float: right; border: 1px;">
{include file="sidebar.tpl"}
</div>

{foreach from=$entries item=entry}
<h3>{$entry.title}</h3>
<p>{$entry.text}</p>
{/foreach}
</body>
</html>

Here is your aboutme.tpl file:

<html>
<body>
<h1>My webpage</h1>
<h2>About Me</h2>

<div style="float: right; border: 1px;">
{include file="sidebar.tpl"}
</div>

<p>I am really really cool.</p>
</body>
</html>

And, finally, here is your sidebar.tpl file:

<h3>The SideBar</h3>
<h4>Recent Photograph</h4>
<img src={$photo.url} />

<h4>Random Quote</h4>
<p>{$quote}</p>

<h4>My Categories</h4>
{foreach from=$cats item=cat}
{$cat.name} - {$cat.numofitems}<br />
{/foreach}

Please make sure you go over the above three files to ensure that you understand what is taking place there. It is important that you realize that these files are merely serving as a skeleton of the final site and that creating them is very similar to creating MovableType templates. Additionally, the syntax of these particular files is not what is at question. This is only an example.

Method 1

This method involves altering the template files (aboutme.tpl, frontpage.tpl, and sidebar.tpl) to gather the information they need.

This would involve placing something similar to the following at the top of frontpage.tpl:

{getentries num=10 assign=entries}

Likewise, the following would be added to the top of sidebar.tpl:

{getphoto num=1 assign=photo}
{getquote assign=quote}
{getcats assign=cats}

aboutme.tpl would not need any modification, since none of the data in it is dynamic.

Method 2

This method involves having a separate configuration file that accompanies each template file (optional). There will exist a Smart include method to ensure that the config files are read.

First and foremost, the {include file=...} syntax that was used in aboutme.tpl and frontpage.tpl will need to be changed. No longer will you use your template engines include funtions. Instead, you must treat the included subtemplates as regular variables. Therefore replace both instances of the {include} syntax with the following:

{$sidebar}

Secondly, a configuration file will determine what gets loaded into where, and what template files will be used to display them. Therefore, we’ll create frontpage.config and it’ll look something like this:

$entries = getentries(num => 10);
$sidebar = executenode('sidebar.config');
show('frontpage.tpl');

Additionally, we’ll create a similar file called aboutme.config:

$sidebar = executenode('sidebar.config');
show('aboutme.tpl');

Finally, we need to create the sidebar.config that these files reference:

$photo = getphoto(num => 1);
$quote = getquote();
$cats = getcats();
show('sidebar.tpl');

Method 3

You tell me. Is there another way to do this? Is there a better, more userfriendly, equaly flexible method of allowing users to input data from any module in the system in any way they desire.

Inklog: kink free (for now)

I’ve worked out some of the Inklog kinks I encountered and things are back on track. The system will still be a full framework. However, I’ve made a decision that will drastically effect the future of Inklog. The system will require Smarty. In order to make a truly simple, flexible and usable system, certain features need to be present in the template system that powers it.

Like Movable Type‘s templates, all the display logic is present within the template file itself. This makes the system easier to use and provides the ultimate in flexibility. However, a link must be established between what modules perform their actions, and what template files are associated with those actions. This can be done in a separate location, therefore not relying on Smarty’s flexibility, however, an additional complication comes into play.

Let’s say that a user wishes to include into their template a standard side bar. This side bar is defined and formatted in a separate template file and is included whenever the user wishes to display that information. Now, let’s say that this side bar requires information that the calling page doesn’t need. For instance, let’s say that main page is a simple blog entry, while the sidebar contains both a listing of the five most recent posts, and a list of categories. Without using Smarty, configuration information would be loaded to determine that the template required a particular blog entry to be loaded, however, that config file would have no knowledge of what was in the side bar template. So, unless the user accounted for the side bar’s needs as well in the configuration for that template, it wouldn’t have the needed data to display the side bar. And, while it would be easy for the user to account for such things, in the event that the use should change the sidebar, he must also change the configuration for every template that requested the sidebar. So, a better solution is to allow the sidebar to have its own configuration. This is where the trouble comes in. Every template system has its own syntax and the framework will have no way of knowing which templates are being included where unless it knows how an include is represented in that new system and preparses them to determine their requirements. This becomes very complex and resource intensive.

By requiring Smarty to be used, it is clear which templates any given template will require. Additionally, because Smarty is being used, we need not configure each template separately. The template can simply require the pieces it needs within itself.

We gain a few more things by requiring that Smarty be used. We can allow for caching of data to provide additional performance. We can also allow the format conversion routines to use Smarty. This allows for customization of the conversion on a node by node basis as well as the use of Smarty functions within those customizations. Additionally, formatting plugins can be written for use. If you want to be able to link to Amazon by simply typing {amazon isbn="1122334455667"} a plugin can be written and the plugin can be configured along with the nodes.

To conclude, Smarty makes it easier on me, easier on the user, and easier on those who wish to extend the system. Therefore, Smarty will be required as the templating engine, at least at the core level. If another template system is as featureful as Smarty, then I’m sure one could be dropped in place of another. Additionally, if a user REALLY wants to use another system, a Smarty plugin could be written that would simply call the other template system. In this fashion, minimal amounts of Smarty will be used.

Photo adventure

Jess and I are going downtown to get some exercize and take some photographs. Call or text message me (pager AT revjim DOT net) if you’d like to join us.

(We’ve been doing this a lot lately, haven’t we?)

inklog: set backs

The framework portions of Inklog are not working out as well as I would have liked them to. The framework itself is starting to become too cluttered. Additionally, the blogging module is becoming more and more difficult to use.

So, this leaves me with two choices. Continue to plan the framework in hopes that I’ll figure out a way to make everything work out nicely, or drop the framework portion and continue developing the weblog application.

I’ll most likely choose the second option. If that is the case, inklog will end up being very similar to Blosxom with the following differences/enhancements:

  • It will use PHP instead of Perl.
  • It will use Smarty for its template needs (with the ability to be pointed at another template engine.
  • Throught the use of formatters, it will accept any and all document types. A default formatter will be in place for those document types than cannot be deciphered.
  • An entry will be capable of existing in multiple categories.
  • Configuration options and plugin settings will exist on a per-directory basis.
  • Documents will not only have a flavor, but also an optional action.
  • No HTML will exist outside of the template files. Even the conversion routines will merely prepare an item and then call a template allowing complete and total customization without editing any code.

Now that I’m fairly certain that the framework isn’t going to fit into this, I’m not nearly as excited as I was about it on Friday. I only wish I had more programming oriented minds near by to help me figure out what I’m missing to make all of this work the way that I want it to. I’m sure it’s something small that I’m just over-looking.

uh oh

If you need someone with a truck to help you move something from point A to point B, I am no longer capable of being that individual.

On the other side of that same story, I am having a serious case of buyer’s remorse.

inklog: inspiration

After looking into Blosxom so heavily lately, I’ve decided to scrap the portions of Inklog that I’ve written so far, and start over. Blosxom has been a true inspiration by showing the benefits of using existing infastructure in interesting ways to create an easy to use, flexible, efficient system.

I know what you’re thinking: “another PHP bases Blosxom clone? No, thanks”. But that isn’t the case. Yes, in many ways it is a clone of Blosxom. However, because of the way it is being written, it is much, much more.

The initial release will do less than what Blosxom does now. But, because of the techniques being used in the framework, the weblogging portion will merely be one of the many things Inklog can do. And, because of its modular design and plugin system, anyone can extend it to do even more things. Because of it’s heavy reliance on PHP classes, extending it is as simple as extending the base plugin class and added the pieces you need.

The only thing that may turn people away from it, will be its partial reliance on Smarty. I understand that everyone has their own favorite templating system, and that one size doesn’t always fit all. Therefore, it will be writen flexible enough to accomodate other template systems, however, support classes will have to be written to help the framework interface with the framework. I will most likely not author any of these support classes though, if someone else does, I’ll be happy to host them.

It’s funny how programming works sometimes. Now that inspiration has struck me, I feel like I could code non-stop until the entire framework and weblogging modules were finished. However, I do still have a little bit of a life (and a very attractive girlfriend). If all goes well I should at least have alpha level code by Monday.

Stay tuned.