Lussumo

At Lussumo we make free, open-source software for the web.

And quite cool software too. I found out about Lussumo when I noticed that Joen Asmussen has started a Fauna Forum, as a place to discuss bugs, feature requests and solutions for Fauna. Joen is using Lussumo’s vanilla to power his forum something Michael Heilemann is also doing for the Binary Bonsai Forums.

Seems like almost every wordpress theme has an own forum now and it’s vanilla that is the new hot thing in the forum scene apparently.

Lussumo has also created a web based filebrowser simply called filebrowser which look quite neat!

php | tropics

Join us for php|tropics 2005, an exciting 5-day (4-night) conference at the awesomely all-inclusive Moon Palace Resort near Cancun, Mexico between May 11th and 15th, 2005.

php | tropics

Drinks are included in the price! Sounds quite dangerous 😉

PEAR :: NotificationCenter

PEAR :: PEPr :: Details :: NotificationCenter

A notification center acts as a notification dispatch table. It is used to notify other objects of interesting things, if they meet certain criteria. This information is encapsulated in Notification objects.

Client objects register themselves with the notification center as observers of specific notifications posted by other objects. When an event occurs, an object posts an appropriate notification to the notification center. The notification center dispatches a message to each registered observer, passing the notification as the sole argument.

That sounds really cool and useful. Let’s hope it goes through the PEAR voting process…

RE: Document Your Project Already!

Paul M. Jones has written a blog post in which he complains about the lack of documentation in public PHP code. I agree that the low standard of documentation is bad but I believe that he misses the most important point:

It is not fun to write documentation

At least for me that is the sad truth. I find no joy in writing, and that English isn’t my native language which makes the writing take at least twice as long doesn’t make it any more fun.

At my day job I get paid for the tasks I do, which might including writing documentation. That doesn’t mean I’ll enjoy it but it makes it bearable. However, when I get home at 8pm after a 10 hour working day fighting with some mysterious Symbian C++ problem, the thing I feel least like doing is writing documentation.

If I will end up doing something in the evenings, it’s because I will enjoy it, because it’s fun. I believe that the majority of open-source software has been written because someone enjoyed doing it. Unfortunately I think the amount of people who like writing documentation is a significant smaller number. Hence the lack of documentation.

As soon as the fun turns into a must, it’s not fun anymore and the probability of it getting done goes towards zero. As soon as I start to feel that I have to write documentation, I’m basically doomed to fail with it.

Paul also states that “I’m too busy to write documentation.” is not a valid excuse. However, it’s not as simple as that. Take a lack of time and combine it with a lack of fun to write documentation and you have totalt disaster.

I’ll submit myself as an example.

I’m the author of The Ismo PHP Framework and as can be seen from its documentation page the documentation is next to nonexistent.

The food on my table I earn by working 40-50 hours per weeks at my day job (not PHP-related in any way). Subtract some more hours for going to the gym, going running, meeting friends, playing with the cats, etc. What’s left is like 5 hours / week tops which I can spend on my spare-time projects.

Given a couple of hours in a week, do I rather spend them enhancing the AOP (Aspect-Oriented Programming) support in Ismo which is fun, challenging, and very interesting. Or do I spend the hours writing documentation?

I think the answer is easy and one reason why open-source projects often lack decent documentation.

We just have to find a remedy. Using a wiki is a step in the right direction, but it’s not the magic solution.

Would anyone be interested in sponsoring the development of Ismo?

Ismo is a powerful ground breaking open source web-application framework for PHP written by me with the kind help of a couple of contributors.

More information can be found on the Ismo site.

The development has been kind of slow-going lately, mostly due to me working 7-10 hours per day at my day-time job which has nothing to do with PHP or Ismo. That hasn’t left me much time for training, spending time with friends and coding on Ismo.

However, I’m now soon going to move back to Sweden and that opens possibilities. As I don’t have another job lined up there waiting for me I’m open to suggestions. If someone or some company would be willing to sponsor the development of Ismo, I would be able to dedicate the 7-10 hours a day I currently spend writing Symbian and Java code to make Ismo even greater.

Given time to work on Ismo I don’t see anything preventing it from becoming the great thing it deserves to be!

Anyways, I don’t expect anyone to do this but if so I’m all ears!

What’s the purpose of PHP’s sql.safe_mode?

To me it seems to be an abomination without any real purpose.

That it’s basically undocumented doesn’t really improve things. After some searching I found a bit of documentation. The real site, however, seems gone so you’ll have to be happy with google’s cached version. I guess that means I was really lucky to find that piece of information.

The page says:

Name: SQL safe mode setting

Directive: sql.safe_mode

Type: boolean

Synopsis: If the SQL Safe Mode option is enabled the MySQL and Ingres extensions will ignore the supplied host, user and password information and will use only the default ones.

Can someone please give me a use case for this? Usually safe mode is considered and enabled on machines with multiple users so why would one then want to limit everyone to the same mysql user? I can’t see any point for this.

I think it should be removed from PHP. And if not removed proper documentation should be written, just have a look at the confusion on usenet groups regarding this “feature”.