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:

It happens all the time. You create two or three option groups and start adding radio buttons.

Then you write some VBA code attached to each button and/or their option group.

And at some point in the development you notice that one was put in the wrong option group.

Just deleting the option and creating a new one is not a good option because then you have to make totally sure you have the right setup and that can take some time to review.

Instead, you can move a radio button from one option group to another by following these steps:


  1. My checkbox does not have an AfterUpdate event
  2. When running, I cannot de-select that check box once selected

Discovery Process to Solution

In MS-Access, you often want to run an action after the user changed something in a form.

How it works

The at command is often used to start a process at a later time. It can run any script at a specified date and time.

For instance, if you want the computer to send you a signal in one hour, use something like:

cat signal | at -q z now + 60 minutes

Assuming that the file named signal contains the commands necessary to generate the signal. Then in 60 minutes, the script will be execute and the signal will be heard or shown.

Lately, I noticed that I always had a connection. I was wondering why... I did install clamav but I did not recall changing anything in Apache where I'd get requests from the outside that would look like clamav.

The fact is I also installed freshclam. By default, that gives you a line like this in your netstat -a64 listing:

    tcp   383     0 halk:38272     CLOSE_WAIT

Most of the time you won't catch it when it is still connected and sending/receiving data. The deamon that accepts the connections is freshclam and it will save the new data ...

You may have noticed that whenever you create a Datasheet you can double click on the right edge to resize the column to the widest text currently defined in that column.

This is neat but if I create a table with 10 columns, that's work. Especially if I need to reload data in that table each time I use it, 10 times an hour. (i.e. 100 x double click would definitively kill me!)

Of course, you may not need to resize all 10 columns each time, but wouldn't it be neat to have the columns width auto-adjust with the data you put in that Datasheet table?!

I think it would be!

The solution

Today I bumped in another problem.

Some QuickBooks tables cannot properly be updated with QODBC. In my case it was the SalesOrderLine table. The first error I got was:

Error parsing complete XML return string (8)

I just couldn't be sure what that meant...

I had looked at the XML output closely and noticed that the identifier of a line was improperly shown in a separate tag.

The fact is, I just could not update multiple lines with FQSaveToCache flag set to 1.

Today we discovered that our SSL system on our server broke when we upgraded the server to Ubuntu 8.10 (Intrepid.)

The technical error message is rather cryptic:

  SSL connect error; error:140773F2:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 ...  
          ... alert unexpected message (

I also get this message from HttpRequest (in our PHP server running with Apache):


Inserting a row ina database is done with the INSERT INTO command line. This is quite standard SQL.

MS-Access supports the INSERT INTO instruction too. You can write macros that make use of it.

I have used it for a while and had not problems. But yesterday I discovered that there was a case when it simply wouldn't work at all. The strangest thing was that it did not work with an MS-Access database without any one error. No error at all.

Today we again ran in an out of memory error. As we are adding more websites our foot print is growing... Our servers use a VPS that has limited resources and whenever the limit is reached, the system automatically kills processes. How the VPS selects the process to kill isn't clear to me, but twice it has been our database manager meaning that all of a sudden all the websites stop working.

So... We got an extra bit of RAM because our package allowed it, but that's still small.

I use all sorts of tricks in order to duplicate functionality without actually duplicating PHP code.

One of the main, easiest way under Unix is to create softlinks. First put all your code in one folder, then create a softlink to it. That gives you two paths:

Thank you for visiting my website.