The Art of Buffering

In its current stage Grammar Captive is more about learning than it is teaching, as much of the code used in the project’s development is new to the developer — namely, me.

As a good general rule I try not to incorporate anything that I do not understand.  This means many excursions into the unknown with many new discoveries that are interesting, but not always directly applicable. Such has been my recent encounter with PHP’s output buffer.

While preoccupied with buffering I did realize one important facet of gathering user information that I originally thought to avoid, but have since decided to embrace — user authentication.  And this, for two reasons:

1) Insure that what goes into the database is authentic — neither spam, nor another unwilling user’s information, and
2) Provide comfort to users who are suspicious of Shared SSL security due to the “invisible” (backend) use of https protocol.

Alas! Another week of sacrificed potential income. Once again, the long run has overtaken the short run.


In the meantime …

You would think that new registrants would be desired.  When they are all coming from the same questionable domain, however, there is could reason to believe that they are spam.

Unfortunately, Grammar Captive’s current anti-spam software does not seem to be working against the sudden inflow of new registrants from suspicious websites including and

It is for this reason that Grammar Captive is deactivating Akismet Anti-Spam and has downloaded, installed, and activated WP-SpamShield.

I am hoping that Grammar Captive will soon be able to add WP-SpamShield to its Credits list.

Grammar Captive will now return to its database development project.


A Small, but Worthy Aside

Learning code means being exposed to unintended code discoveries. It also means new ideas about which one has not previously thought, and might very well prove useful in the future.

So, stop, pause, and take notes.

Indeed, Grammar Captive can now select any number of columns in a MySQL database, select all rows of one column with the same column entry, and discover all of the information in the other columns that pertains to the selected rows.

This is “future power”.


Mass Mail Update

Grammar Captive has successfully sent its first mass mailing using the PHPMailer library. Hooray! Hooray!

Yes, it was only sent to two people, but the mechanism is now in place for sending to many many more.

Next Up: Combine Grammar Captive’s newly acquired ability to: one, send an HTML insert; two, extract email addresses from Grammar Captive’s database; and three, send a single email message to multiple newsletter subscribers with a single click.

Sending a newsletter must be as easy as receiving it!


Mass Mailing Update

Although still in its test phase Grammar Captive has just sent its first successful multipart (MIME) email message using PHPMailer — the software selected by Grammar Captive for the purpose of mass mailing.

Two messages (one containing ASCII script — namely, English — and one containing Japanese) in both the address line and body were sent. Both messages contained images.  Both were successfully transmitted over a secure TLS/SSL connection.

Though a small issue, it was discovered during the experimentation that copies cannot be sent to recipients when the name is included in the address line. In short,

CC: Hashimori Iwato <> NOT OK

Still users must be warned.

Arabic was not attempted, but will surely work.  This is because both use the same character set — namely, UTF-8.