Snap! Websites Journal

I just published libtld version 1.4.22 to include many new gTLDs and also mark a few as deprecated or correct some that were considered private and not defined by a country (or vice versa.)

This includes many of the INA accepted TLDs such as .site and .love.

It also includes many new TLDs that are in a language other than English (or at least using Latin letters.) Japan actually got 47 new domain names in Japanese. Several Arab countries and Pakistan got such domains too.

There are also many new brand extensions.

What would be required now is a better set of categories, and actually, a ...

Today, I again ran in a QASSERT(). The problem with an assert is that the software stops and voilà. Yes. The assert has a message telling me what happened (why it is asserting) and the location of the assert.

So I know it was a QList problem because of an out of range index. Good.

Only, to fix said problem, you need the location of the caller. Knowing that an assert was generated in qlist.h is hardly helpful.

Of course, most of you will say: just run your software in your debugger, then it will break when the assert happens. True, unless the assert happens in a child process you ...

Today I started work to switch from using log4cplus with files directly to using the loggingserver. Not only that, it is using the newest version (on the edge!) which is 1.2.0-rc3. Up to here, no major problem.

However, the newer version forces you to use a version of the log4cplus library which is multi-threaded. This causes a major problem because the server makes use of fork() to create child processes each time a connection is made. There are several reason to do so, but there are a couple that I think are certainly the most important ones:

  1. Having a child allocating resources can ...

The controlled_vars library allows you to define variables that you never initialize. This is very practical if you have a large number of variables or a large number of objects of a class.

The idea is pretty simple and once you remove the debug, the variable becomes 1 to 1 equivalent to a char, unsigned char, signed char, short, unsigned short, int, unsigned, long, unsigned long, etc. In other words, it goes really fast.

However, in debug mode, the class adds a bool to know whether the variable was initialized or not. If not yet initialized, you cannot read the value or you get an ...

Snap! Websites
An Open Source CMS System in C++

Contact Us Directly