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:

A quick CSV (Comma Separated Values) reference:

1) Row separator

  \n   \r\n

In order to separate lines, use a newline character sequence.

Most loaders probably support the \r sequence too. (Especially on MacOS/X)

[toc hide:1]

I have been trying to get my imap_open() function to connect to my mail server.

The mail server works just fine since I can use it over and over again to receive emails in Thunderbird.

So...

The other day, I setup a small script to send file on an FTP. That was a long time since I had done anything like that and was not really thrilled, but I'm working for a client.

The FTP worked pretty well. The upload was going for a while. According to wput, if the connection is lost, it automatically retries and continues the transfer. It got stuck 3 times on me. For hours. No retry. Zilch.

Now, I updated my files on my end and then started the transfer again. Had to wait forever, although that is not the direct fault of wput, when it gets stuck mid-way, it's bad.

Several times, you may have been creating views and wondered: how the heck could I add a link to my node Edit page, or if you are like me, my node Outline, Track, Convert pages on top of the Edit page.

This is actually pretty easy.

To your fields, add a Node: Nid then click the Add button at the bottom.

In the setup of the field, select Rewrite the output of this field and enter the text of the link as it should appear (i.e. 'Edit' or 'Convert'.)

Quite often, I write documents that require a logo from a brand such as Microsoft or Apple. Here I have link that take me to the pages were I can get the logos. The following are links to the logos of different companies I work with. If you have some, feel free to share! The list is in alphabetical order.

  • Apple

http://www.apple.com/pr/products/

  • Made to Order Software Corporation

http://www.m2osw.com/en/press.html

This page has empty paragraphs at the top (before this line), at the bottom and in between each paragraphs. In a way, this is a weird module!

It use the MO Paragraph trimmer filter1, written in PHP for Drupal 6.x, to remove all of those empty paragraphs. Sadly, there isn't a good way for you to check the page source, but you can test by posting a comment (I think...)

The idea ...

  • 1. Available on the Made to Order Software website.

Today I was creating a report and created a table with a column named 'Group'. It looked like it worked just fine so I moved on with it.

Then, at the point I wanted to insert data with a simple INSERT INTO ... statement, it broke. The statement would generate a syntax error. Yes. The simple answer is that GROUP is viewed as a keyword and thus when used as a field name it needs to be escaped (i.e. written between backward quotes: `...`). Not liking the need to escape a field name each time I use it, I just renamed the field which is even better.

In MS-Access you can create a Recordset using the OpenRecordset on a database.

Once you have that record set, you can get the rows with the GetRows() function.

It has one advantage: once the function returns the data remains consistent (it is in an array). The really bad part is... what is returned is an array. This means all the fields are now numbered instead of named.

When you want to modify a set of rows in a table but need to do some computation as you go, you probably want to use a cursor. That's my first idea. Whenever possible I do an UPDATE, but in one case that was just way too heavy (i.e. one SELECT plus one UPDATE per row!) Of course, in the end, the result is the same, but it is much less tedious to use a cursor.

How to use a cursor is very well explained in the documentation once you know the functions that you need to use to make it work. I only knew that the Recordset could be used that way.

When using the QODBC driver, it is possible to define all the Address fields. You have 5 x Addr, 5 x BlockAddr, City, Postal Code, Country, and Notes. This means quite many fields (15 to be precise.)

Trying to use the BlockAddr does not work.

The other fields work, but the result is that everything ends up in a blob of data. More or less, when you read it back, you'll have no clue what's what... That is one problem.

Now, the other problem is the following error:

Unfreeze your Mouse when it Froze

Thank you for visiting my website.