With 288 lines of code (readably spaced, no comments) I’ve implemented the Inklog storage interface. It is only meant to be used by the system itself so, while it performs permissions checks based for accessing items, it does not actually authenticate that a user is who they say they are.
It’s almost complete. It’s lacking "search" capabilities. That should add another 100 lines or so.
Unfortunately, since error checking in PHP sucks, I have to go back through and implement my homegrown error checking routines. I’m not sure why I didn’t do that in the first place.
HTMLArea is a wonderful piece of web software. It takes any existing textarea field and converts it to an HTML enabled, easy-to-use, WYSIWYG text editing field. The interface is completely configurable, and you can even add custom buttons and actions to its toolbar.
Version 2 only supports IE, but the new version 3 (in beta) supports Mozilla as well. It’s been pretty good for me so far. In fact, I hacked bBlog to allow me to use it when editing posts (which made me dislike bBlog a little more) so I’m using it right now.
There are a few problems that I’ve seen. First of all, the link creation button is a bit hard to use. I figured out that you have to type the text for the link, highlight the text, and then press the button. However, if you happen to do this to the last word you typed, you have no way, that I can tell, of getting out of link mode. The same sort of thing happens with the bold button. If I press the bold button and then type, the text is bold. If I then press it again, the text stops being bold. If I then backspace over all of the bold text, I get locked into a loop where there is a bold place holder after everything I type. Additionally, when I hit ENTER twice, it should make a new paragraph. However, it inserts a line break and then closes the current paragraph and opens a new one. There doesn’t seem to be any of stopping it from doing this. But it only seems to do it for the first paragraph I type. Regardless, as long as I save all of the formatting for after I’ve finished typing, it seems to work pretty well. If (or when) these annoyances are fixed, I might enable HTML comments on revjim.net and use this to power them for those that don’t know HTML.
It has a few problems with the image locations for the buttons. It expects that the images will fall in a directory called "images" that is a child of the directory the page you are viewing is in. If this doesn’t happen, it doesn’t work so well. I had to modify the source code to make it work for me. There are a few plugins for it as well (table editor, spell checker, etc), but I haven’t got those to work. It’s most likely a pathing issue based on the same problem as the image issue.
Regardless of those things, it’s certainly worth a shot if you’re in need of something like this.
InterJinn is a new framework for PHP. It includes a templating engine, flow control structures, a properties manager, session management, a services structure and much much more. It is, what seems like, an easy framework for any mid to large sized website or application.
Unfortunately, the license it uses is too restrictive for inclusion in a GPLed project, so I can’t even consider it. However, if you do use it for anything, please let me know what you think of it.
Silence doesn’t exist. It’s merely a thoery in the minds of those who consider the most remote possibilities. It’s never really silent regardless of where you go.
It’s either the roar of a river eternally carving its track in the rock below, or the rush of traffic pushing its way down the Turnpike.
If you can’t hear the loud hum of the cicada, the air-conditioners on concrete slabs quickly take their place.
If a coyote doesn’t howl at the moon, the puppy put out on the patio upstairs for the night will fill in.
If the endless number of crickets aren’t calling out to one another in the dark of night, the high-pitched mumbles of children waiting for the school bus will fill the air.
When the click-clack of ice layered on snow is no longer present, the high-heels of a woman walking to her car will suffice.
Even if we lock ourselves behind doors and walls of insulation, trying to force out the sounds of the world around us, our ears ring with the reverberation of every sound we’ve ever heard and all of the sounds that will be.