Archive for May, 2004
And now, an exciting new chapter in the young life of Cornucopt: nobody can log in and no pages will display.
Last night, I innocently added a bug to the bug list, and the database apparently chose exactly that moment to hit the space limit assigned to it by my ISP. The pages table is now evidently corrupted. I can still pull data out of the changes table, so I was able to rescue some data immediately for the project some friends and I were embarking on (and which probably created all the data that filled the drive).
At least, that’s my best guess as to what happened; I am far from a DBA. But man, that changes table got freakin’ huge.
I had implemented (and have implemented) no “small change” functionality in Cornucopt. In many wikis, you can designate an edit as a “small change” to the page, like a typo correction or a layout tweak, and it will store that change lumped in with the last change, rather than add a new entry in the DB and in Recent Changes, annoying everyone. Good feature, just hadn’t gotten around to it.
It’s relatively simple to add such a “small changes” feature. It needn’t present a security risk of sneaking in a huge change (either by marking it as small, or by doing it slowly).
But is it really what I need? Does it explain how a database table that contained every full version of every page on a small, new wiki got to be 200 megabytes? When the pages in question are about a K at most?
I may have to bite the bullet and limit the number of changes that Cornucopt stores, to something like the last 20. I feel like I’m letting future generations down. For right now, though, I’m investigating all these problems and how other wikis handle them. And, of course, getting my actual work done.
May 17th, 2004
Wicker is now Cornucopt.
Cornucopt is the language of the fictional land of Cornucopia, as described in the comic books of Dylan Horrocks. A cornucopia is also known as a horn of plenty. Cornucopt, née Wicker, will be a horn of plenty of language, a vessel made to increase the quantity and quality of that which flows through it.
I’m happy with this new name, which is actually an old name, although it took me a day or two to remember it. Besides increasing the pretension level of the whole project, it’s highly unlikely that anything else in open source will duplicate it. (Try it in Google.)
May 10th, 2004
Uh oh:
Wicker is a lightweight, modular Java application server, suitable for embedding in a web server, and intended as an alternative to the current standard of large-scale/monolithic application servers.
The project isn’t super-active, but still. “Application server” is close enough to what we do in the headspace of a comparatively tech-naive user that I am worried. Also, bigger projects than mine have had to change names due to conflicts with much smaller projects than themselves.
So if I had to call Wicker something else, what would I call it? WickerMan has come to mind, but it’s CamelCase, which ReallySucks, and it’s a bit… violent? So, suggestions more than welcome.
May 8th, 2004
I had a look at my referrer logs to see if anyone is really reading this… it’s hard to tell, all those hits could just be coming from my aggregator. I understand that some folks were trying to add something absurd to the Atom spec so they could prevent such problems and actually know who was reading their feeds. I’m gonna take the direct approach: if you’re reading, post a comment!
Anyway, the OO version of Wicker is now under private testing. Viewing pages works fine, and so (amazingly) does subclassing the basic Page class to do SoftlinkPages. The SoftlinkPage class isn’t perfect yet - I’ve decided to have them put “lastpage=XX” codes into URLs, instead of trying to read the referrer and parse out the page that called it. That will limit the creation of softlinks to only occur when you’re coming from another SoftlinkPage, but hey. It doesn’t have to be perfect.
What I’m working on now is a bug with logging in. It likes to forget who you are, instantly, between page loads, so something about the way the User class (which I’ve actually been using a while now, so I know it basically works) is getting toted around in the session has gotten borked. I hope this does not turn into another months-long stallout.
Once I have that worked out, I can go to work on seriously debugging Edit functionality. When the current feature set is fairly bug-free, I’m going to set about opening up the code under the GPL, likely on SourceForge unless they prove to be too hard to deal with compared to the competition.
I am surprisingly lucid for having had no protein today. (Watch, now that I’ve typed this I’ll start having dizzy spells.)
[Later that day: editing works! In fact, editing works better.]
May 7th, 2004