With version 1.4.0 of the libtld we bring to you one additional feature in Internet identifier verification: check that a list of email addresses is indeed valid.

If you search for a way to verify an email address then the libtld is your solution. It will not only check that the email address is valid (only include characters that are acceptable as per RFC 5322,) it will also look at the domain name TLD and verify that the specified domain is indeed valid.

Along the way we also worked on getting the library to compile with Visual Studio 10+ and Cygwin so you can make use of it under ...

The Snap project uses the -std=c++0x option to compile with C++ 2011 features such as smart pointers. This means all the libraries that we link against of must also have been compiled with the flag to be compatible.

It has been reported that under Gentoo you may run in the problem for different libraries. There is a command line to fix the problem with, for example, log4cplus:

# CXXFLAGS="-std=c++0x ${CXXFLAGS}" emerge -av log4cplus

Each platform has a different way to handle such problem. Note that our system requires c++0x. Without it, you'll have a real hard time to get ...

Plugin Limits

As we started using plugins, we started finding limitations on their use. First of all, plugins are expected to be used with signals. If not, then you run in a very simple problem: the plugin becomes a required library so you could as well compile it in as a .so file. It would be much easier and work as well. That's certainly the most important point. The following lists all the limits we are running into:

Train of thoughts to do it right

Since I now got a little practice, I have come up with a way to make it right from the start. The one most important concept for any plugin is to ...

The libtld was finally updated to include the newest world wide top-level domain names added in the last 12 months or so.

The library also better supports exceptions such as .uk and includes a few corrections.

Along those corrections came some additions to the documentation as we now support a C++ class which will really ease the use of the library for C++ programmers since it uses std::strings instead of char *. Although at this time it only supports UTF-8 strings.

The library also includes the necessary code to support a PHP extension so the power of the tld() function is now painlessly ...

As I was working on the Lock implementation in our C++ Cassandra library, I ran in a rather weird problem. The test would fail as many processes would not obtain the lock in time.

Looking at what was happening, even though I use QUORUM as the access consistency level, I could see that some of the test processes would attempt a read of the table and get nothing (0 columns returned!) even though the other 6 or 7 processes already wrote their information in the database.

After looking for a while, I finally found out that the problem was not Cassandra per se, nor the JavaSDK, nor the Cassandra ...

WARNING: This implementation of an inter-process, inter-computer lock works with Cassandra only if you know that you are directly dealing with a single Cassandra node at a time. The Cassandra C++ driver (probably all the drivers) makes use of a set of threads to connect to several Cassandra nodes and if the load of the current thread/node pair becomes too large, it will automatically switch to another thread/node pair. This means your messages may not be received in the order you sent them to the database cluster. As a result, the lock mechanism described below will not function as ...

As I got a 3 node Cassandra system, I can test in an environment that is much more realistic than my one local node. As I tried writing a new test, I got an error saying that a table wasn't ready. Looking at how the Cassandra-CLI does it, I now understand why it waits after creating a table. It actually synchronizes the schema on all the available nodes in your current ring. If the schema differs on any one node, then the CLI waits and tries again.

The fact is that you can run any number of Create, Update, and Drop functions in a raw as you'd like (as long as they are not against the ...

When starting cassandra, it starts in the background, if it crashes or fails in some way, it may write the information on your screen, and it may not. If you setup the logs properly, it will be in the logs. However, until you get all those things right, you may have trouble starting Cassandra.

First of all, you can use the -f flag to start cassandra in the foreground, like this:

.../bin/cassandra -f

That way you should get the error information on your screen. From there you should understand what's wrong.

In my case, I had a first problem which was a crash. This was due to a stack ...

WARNING: We are deprecating this plugin. The editor works great in all browsers so we do not see the need to support two similar capabilities, one of which is limited to what the browser is willing to offer us (and thus all of our additions would need to be programmed as in the editor and we would have yet another duplicate!)

I'm just starting work on the widgets as I want to have a form to register and log in as a user.

These forms are very simple, but I want the full capabilities in the forms to be available (Even if we don't have all the possible widgets.)

Different widgets ...

As I am working on an advanced Drupal website I found out that running heavy backend work on that site was quite a feat (i.e. the cron.php feature.) The fact is that some tasks require you to be an administrator. For example, if you want the system to automatically delete a page (called "node" under Drupal) then you need to be a user that can delete pages, otherwise it will fail (i.e. not enough rights.)

One simple way to palliate is to load a user with enough rights, proceed with the deletion, and then restore the anonymous user.

<?php
  [...]
  global $user;
  ...

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

Contact Us Directly