The Linux Page

Help other users realize that everything is possible, especially avoiding Windows for their own personal use.

Welcome to The Linux Page


Fox Trot by Bill Amend. Click to enlarge.
Click to enlarge

This site is a collection of my own work with Linux. Certain things are easy, others take time to decipher and if I ever need to repeat the work (which usually happens!), then I need to remember everything by memory or... have a site with all the steps taken and to take again.

The following are my most recent posts:

I created a website and handed it to a customer... without realizing that the customer could not edit the pages of his site.

He reported the problem and I was rather surprised since I had not installed any module that would protect the editing of pages based on a role... what could it be? I checked the Drupal permissions a couple times... he had the right to edit all the nodes, his own and anyone else's, hmmm...

I looked at the code to try to figure it out, and there is a call to the filter module: filter_access($node->format).

Yes! Of course! I had forgotten to add his role to the ...

On my sites, I'm using boost to allow much faster access time (close to instantaneous in comparison to hitting Drupal and all the database accesses...)

The result is great! But it generates some problems when you test a page. It does not get refreshed... Easy, you can clear the cache. Not advisable when your cache is around 10,000 files. A better way, is to go to that page and click on "Flush Page" (available in one of the blocks offered by boost.)

Whenever you run many applications on a server, such as many instances of your web server (i.e. Apache), you may want to know how much of the system is being used. This can be important to avoid overloading your system.

The load is computed by the kernel. The kernel knows how many processes are running and how much processing power your server has (i.e. how many processors.) With that information, it infers how many processes are being held back for a period of time. The default periods are 1, 5 and 15 minutes (I'm sure you can recompile your kernel with different timings!)

[toc hidden:1]

Reports, Print and Load() Event

I wrote many forms and in general everything works just fine.

In this case, I wanted to enter the data with a function so I could properly format several of the fields (especially the billing and shipping addresses.) That was done on the Load() event. That function working great when looking at the report from within MS-Access (on screen report). However, when directly sending the report to the printer, it was not working well at all.

[toc hidden:1]

System tables and how to edit them is just not defined in the SQL language, unfortunately. So different database systems have different solutions to handle their table declarations. PostgreSQL is no different.

In most cases, MySQL uses some special instruction to update system information. In PostgreSQL, you have internal tables that the administrator can access and tweak as required.

[toc hidden:1]

void Image::DrawCircle(float x, float y, float radius)
{
// TODO: add tests to prevent computing all the points for nothing
// (i.e.

// slow integer factorial function
int factorial(int n)
{
int r = 1;
while(n > 1) {
r *= n;
--n;
}
return r;
}

I have been wondering, for a while, how the triggers where generated in Drupal. I know that one can catch a message by writing a hook function and you have hundreds of those available. However, how are the triggers working?!

The fact is that triggers require you to write a function. The Core Trigger module has a set of specialized functions for the Core modules and it is limited to that. In other words, you cannot expect new modules to simply define an array and get the triggers to work (I was really wondering how could that really work?!)

[toc hidden:1]

// cool highlighting!
$f = fopen(source, "rb");
while(!eof($f)) {
$s = fgets($f);
$h = parse($s);
echo $h;
}
fclose($f)

Today I finally solved a problem that was bothering me for a while. A Drupal site I installed for a friend of mine would not accept the Clean URL set. This is when the URL does not need to include the rather ugly ?q=<path>.

The more I was looking into it and the more it looked like the problem was coming from the Apache installation.

[toc hidden:1]

Thank you for visiting my website.