The Linux Page

The <p> tag...

I always have had problems with the <p> tag in HTML.

Now, I was happy to find the solution to a problem I hit several times and finally solved with a big smile.

In most cases I use <div> (division) tags to create web pages. That's easy because those don't generally use any padding or margin. So you build all sorts of complex tree with that and the result is just perfect.

[toc hidden:1]

Bad DKIM signature data

Yesterday I had a customer sending me emails from a different account from last time. That different account is a Yahoo! account so in general there is no problems with that.

Yet, this one time it did not make it. One of my email filters failed. Namely, the DKIM filter. It uses the dkim library to check mail messages and make sure that they indeed originate from where they say they are from.

It is an interesting concept. In the following figure I show the standard scenario of a hacker sending me spam and a valid domain sending me an email:

As you can see, if I communicate with the ...

Do you know how to pronounce Linux?

My Raspberry Pi fits in my hand and runs Linux.

Yes.

I have been around a lot of people and there are many who heard of Linux but to not know how to pronounce that word. I never thought it was complicated, that's a latin word, right?

So... maybe it is not "Lie neex"... Think about the "i" later and see how Italians, Spanish and French people pronounce it... Yes! The right way! You got it!

Anyway... for those in doubt, there is a file you can listen to Linus Torvalds himself, he's the one who named that OS, after all, so he should know how to say it. Enjoy!

Broken RSS feeds

Since December 2008, I have noticed that many RSS feeds include invalid ampersand characters. XML has a very specific way to handle the ampersand character, you have to write &amp; and not just &. Although it is similar in HTML, in XML it is actually enforced.

This is neat, it ensures that your files are really valid.

[toc hide:1]

Drupal SimpleMenu & Javascript errors

Somehow, once in a while, I just don't get my navigation menu at the top of my screen.

I use the Drupal SimpleMenu module. It works in most cases, yet you have to make sure that your theme include the print $closure before the closing body tag. Something like this:

    ...
    <?php print $closure; ?>
  </body>
</html>

This will print the simplemenu variable. It is a Javascript variable used to create the menu. It is an array tree with all the menus and sub-menus and their corresponding label and URL. Simple stuff... The author uses SuperFish to get everything ...

SVN and executables

One of the annoying thing with Subversion (SVN) is that at times it will add a execute flags to your files and there does not seem to be a function to easily remove that execute flag.

Doing a chmod on your file and trying an update, status or commit does not work. One way is to (1) copy your file, (2) delete the file from your SVN, (3) re-add the file after you carefully changeed the mode with a "chmod 644" or something similar. But of course, that means you lose your history...

[toc hide:1]

PCRE or PHP bug with .* and /s combinaison

See attachment at the bottom for sample code that fails in different versions of PHP 5.2.x

Today a customer told me that his pages disappeared on his Drupal site.

I looked into it and after a few hours determined that a module was the cause. Then I looked in the module and the only part I could see that could possibly be wrong was the preg_replace_callback() call.

So I got the input data from one of my customer pages and run the PCRE against it in an interactive version of PHP. That gave me the same result: nothing.

The expression started with (?:<p.*?>)?\[ and it used the /s ...

PostgreSQL VACUUM not working...

When you use a PostgreSQL database, it gets vacuumed every night (by default on most systems, verify on yours, it may not be the case...) This is a quite simple process to make sure that the database remains fast. And it works great, also. You can have millions of entries and it remains very fast (they have real good algorithms to auto-generate index files as required by your repetitive queries.)

The problem is that tables are being grown for 24h and then they get cleaned up. They can then grow again for 24h. If you don't clean up, the tables continue to grow, fast. Up to the point where ...

My title, test #7

Hmmm... Okay... so Facebook has a latency, but ping.fm does not seem to take anything in account!?

I'm wondering whether ping.fm checks the PTR (whatever that is, hey?!) and if incorrect, refuses to forward the post. That would make sense since the PTR is 99% of the time wrong when spammers send emails.

Well! Today it worked 8-) After more than 7 tests because I did not always increment that number, but still. That's good. I'm moving forward. More soon! 


Inserting:

This is the title of your node: [].

Testing ping.fm, quite a tool for marketers!

I actually remembered that ping.fm would do what I wanted to do and even better than the couple of things I tested before. It will broadcast everything everywhere. In a way, a bit scary!

There are 45 systems as of today (Jul 11, 2009) where your posts will automatically be posted.

And if you want to know, you will need a user key for everything to work. When logged in your ping.fm account, go to http://ping.fm/key

You key is a long string of letters and digits (for those in the known, it is called an md5sum)