teranex weblog


This category contains posts that where imported from my old devblog at dev.budts.be. I used it while I developed on the Nucleus CMS core. It was part of the NUDN (Nucleus Developers Network).

Searching for a good BTS

I have always been searching, and still am,
for the perfect way to keep all my notes about projects i'm working on.
Especially, to keep the todo's and bugs. I have tried different system:
going from pieces of paper to systems like dotProject, but none of them completely suited my needs. dotProject needs to many clicks and pieces of paper can get lost.

Since about half a year now i use my wiki for this purpose (amongst
other uses). But yesterday i got the idea to try some Bug Tracking
Systems. Although these BTS's are generally specifically designed to
manage bugs (duh!) they can also be used to manage todo's etc. That's
by example how mozilla uses bugzilla, then not only keep their bugs in
it, but also complete discussions about their website and marketing etc.

So i started searching for some good BTS's, since i think bugzilla
is a bit difficult. I wanted something that looks nice, has support for
multiple projects and doesn't scare normal computer users when they add
a ticket.

At usefulinc i found a list of bugtrackers, so i started exploring and found 4 BTS's of which i liked the screenshots/features/demo's:

Bush wins, another black day in history. devblog now matches this black color

Bush wins the elections in America and to me, that's yet another black
day in the history of the USA. What will the world look like in 2008? a
total mess? Will we be in the middle of worldwar III?


My devblog will stay in this black color for a few days to reflect my feelings about this..

Essential CVS

Essential CVS Although i'm still reading CSS, The definitive Guide, i bought Essential CVS, also from O'Reilly. This book explains the essential commands to use CVS, as well as how to manage repositories etc.


While i was testing Eclipse (at school we use IntelliJ, but hey, that's not Open Source ;) ), I came accross PHPEclipse.
As you know (or don't know) Eclipse is more then just a Java IDE. It is
a complete Platform and Framework to create IDE's. The PHPEclipse uses
Eclipse to create a complete IDE for (you can't guess it ;) ) PHP. When
I was reading the install-docs for PHPEclipse they mentioned WAMPP in
it, as the distribution for Apache+PHP+MySQL. After searching a bit I
found it: XAMPP (WAMPP was the previous name for the windows specific distro)

XAMPP is a distribution, available for Linux, Windows and Solaris for
people that want to run Apache with PHP and MySQL (and other things
like filezilla FTP etc), but don't like configuring all the different

Using XAMPP (on windows) is *really* easy:

Serving your webpage as UTF-8

Yesterday, while after playing with the php.ini files etc to
write my previous article i decided to play some more. This time to get
my pages served with content-type UTF-8, which is a lot better then serving it as, by example, ISO-8859-1. I already knew this could be done by adding AddDefaultCharset utf-8
to your .htaccess file, but on my server this resulted in an internal
server error. But since my ISP changed some of the settings on the
server a few days ago (it now uses phpsuexec) i hoped it would work.
Besides i leanerd that i could also try to use a php.ini file.

To test things i wrote 4 little testcases that should all display some
special characters, that are just as plain text in the files (so
whithout using character entities):

Tricks for servers running phpsuexec

When a php script requires write access to a
file or directory (like Nucleus does for the 'media'-directory if you
want to be able to upload pictures etc), you have to chmod that
directory (or file) to 777 (or 666 for files) on most servers. This
gives world write access to this folder (file). This is because on most
servers apache (and php) runs as user 'nobody'.
Although giving world write access will make it possible to use the
script, it also means a security hole, which can be used by hackers and
other riff-raff.

To avoid this security hole some ISP's install phpsuexec on their
servers (like mine did a few days ago). Using phpsuexec php runs under
your own username on the server. This removes the necessity to make
files and folders world writable. Instead you can just use 755 for
folders (the default) and 644 for files (also the default).

But using phpsuexec has some other consequences: some statements
in your .htaccess file will result in an error 500 (internal server
error). So here are the two problems of which i know, and how to solve
them (btw: these problems are Apache specific, since IIS isn't ass advanced as Apache):

CSS: The Definitive Guide

CSS: The Definitive Guide (cover) Yesterday i bougth Cascading Style Sheets: The Definitive Guide, Second Edition written by Eric Meyer. Now i can finally learn how to create a good stylesheet :-)

see also http://budts.be/weblog/item/376

Back to school...

Today i had my first schoolday. Seems like it will be another
very interesting year :-) (and hopefully my very last year at school

rename 'numerical' to 'datatype'?

Today i started wondering if it would be better to rename the
'numerical' optionmeta (currently in CVS) to something like 'datatype'
to make it easier to add other types in the future, by reusing the same
option meta.
By example: when an option currently must be numerical it uses: numerical=true.
Suppose in the feature we want to add the possibility to create options
taht only accept dates. Then we shouldadd yet another optionmeta: datetime=true.
So wouldn't it be better to rename 'numerical' to 'datatype' and set
this to 'numerical' for numerical options? Doing it this way we could
in the future simply add new datatypes: dataype=numerical , datatype=datetime , datatype=url ...

NP_MyNewsletter 1.2

After a little delay (because i'm working now (holiday-tasks unpacking X-Mas stuff...)) I have released version 1.2 of MyNewsletter

New features:

  • Errors are now handled by the doError()-method, thus they use a
    part of your skin, while for successfully (un)subscriptions you can set
    up a page to which the subscribers will be redirected
  • Completely new admin area to manage subscriptions (see who's on the lists, add, delete)
  • Language Selector: you can now simply select the language you
    want the plugin to use, from the pluginoptions-screen. Adding a new
    language is as simple as dropping a new folder in the 'lang'-dir,
    select 'edit options', refresh the page in your browser and there you

also added a plugin to upgrade your current installation of
MyNewsletter (in the extra-folder), to make upgrading as easy as