PERL: the end of the first rainbow (for Windows users)

Summer tutoring continues.  Today, the tutor hopes, we get word back from PERL.

In the previous article I brought the Linux and (hopefully) Mac users on board with creating a text file, then finding it in the terminal. Earlier, I described how to do it under Windows. Now, I imagine, “everyone” knows how to, on their home system, create a text file, then find it in the terminal.

The goal of today’s article is to create a PERL script, find it in the terminal, and run it. Once again, there is a dichotomy between Windows and Linux/Mac.  This article will cover Windows; the next one, Linux/Mac.

Windows users:

In Notepad, open a new text file, then type the following:

print “Hello from PERL on Jun30, 2014!\n\n”;

Save the file. Let’s imagine you call it  myfirstperl  then save it to your folder (aka directory) “my perl programs” (or whatever you called the folder). Now, follow these steps:

  1. Open the terminal and go into the directory “my perl programs” (or, once again, whatever you happened to call it).
  2. Enter the command  dir to confirm your file  myfirstperl is indeed in the directory. If you called it  myfirstperl, it should show up as myfirstperl.txt
  3. Let’s assume you see your file myfirstperl.txt. Now, key in

    perl myfirstperl.txt

If it worked, the terminal should reply with

Hello from PERL on Jun30,2014!

Hopefully, the procedure worked for you.  If so, you have successfully begun programming with PERL:  congratulations!

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

Perl programming: using the terminal in Linux (or Mac?)

Pursuing summer tutoring, we have embarked upon the PERL programming journey.  The tutor continues it:  soon, there might be no turning back.

In my previous article, I described how you might, in Windows, create a text file, save it, then find it in the terminal. Now, I’ll describe the corresponding procedure in Linux – which I believe will be the same for the Mac. Once again: I don’t have a Mac, so I can’t be sure. It’s my impression, however, that Linux and Mac, for this purpose, are similar.

First, to create the file, you’ll open the text editor. In my flavour of Linux, it’s called “text editor”. You might write down a grocery list or colour choices for your paint:

maroon, cappuccino, red granite, basalt

Now, you’ll save that file. For convenience, you might create a new folder for PERL activities, then save the file in there. Perhaps you create the folder
“My_ perl_programs”. (Unlike with Windows, the Linux terminal may not tolerate spaces in names). Maybe you save the file as colours.txt in your “My_perl_programs” folder.

Now, you open the terminal – which, in my flavour of Linux, is called “terminal”. It’s in with the apps.

When I open the terminal, it puts me in what I’d call my “home” directory. To see the contents of the directory, I enter the command

ls

On my Linux terminal, ls displays the directories in blue, while the files are in white. From the terminal’s point of view, a folder is a directory. You (hopefully) see “My_perl_programs” – or whatever you called your PERL folder – among the items listed by the ls command. Maybe it’s even in blue.

Let’s assume you did call your PERL programs directory “My_perl_programs”. To go into it now, enter the command

cd My_perl_programs

Now, when you enter ls, you should see your text file colours.txt – or whatever you called it – listed. If you do see it, you have successfully created a text file, then found it in the terminal – which is, after all, the point of this article.

 Three observations:

  1. In Linux, the terminal doesn’t seem to tolerate names with spaces in between.  Windows users will notice this difference.
  2. The Linux terminal is case sensitive, whereas the Windows one is not.  Therefore, in Windows you can go into the “MeandMyself” directory using the command
    cd meandmyself, while in Linux, you can’t. You’d instead need to enter, literally, cd MeandMyself.
  3. In my Linux terminal, the dir command also works to list the contents of a directory, even though it’s the Windows command. However, you might not get the colour coding you might (in Linux) get using the Linux command ls.

To my knowledge, the Mac procedure for accomplishing the tasks above is very similar – if not virtually the same. Perhaps now “everyone” knows how to create a text file, then find it in the terminal. Next step: writing a PERL script, then (hopefully) running it!

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

Programming with PERL: the terminal, continued

A summer tutoring project is under way; the tutor continues with its next installment.

As I mentioned in my previous article, developing familiarity with the terminal is key to running a PERL program. What the user really need be able to do is create a plain text file, then find it in the terminal environment.

On Windows, suppose you open Notepad and write a line or two. For now, maybe you just write a grocery list.

Windows has the directory “My Documents” or something similar (In Windows 7, it might just be “Documents”.) You might make a new folder in that directory called “my perl programs” or something like that. Next, you might save your grocery list file in there. Maybe you call it groclist.txt, for instance.

Now, you need to be able to find that file in the terminal. Under
All Programs→Accessories, you find Command Prompt, which is the terminal. When you click Command Prompt, a black window opens on the screen. There is the command line: a directory name in white print, with a blinking cursor.

In my experience, the terminal opens to the directory that contains My Documents. Therefore, if you key in

cd my documents

then press Enter, you should arrive there. If so, you’ll see “My Documents” tacked onto the end of the directory name. Windows 7 users might do the step above substituting documents instead of my documents.

If you made a new folder called “my perl programs” in “My Documents”, you’ll be able to find it now by typing in

dir

then pressing Enter. Your folder should appear in the list.

To move into that folder, enter the command

cd my perl programs

Now, “my perl programs” should be tacked on the end of your present location. If you enter the command

dir

you should see your file “groclist.txt” – or whatever you called it – listed.

The above instructions likely give you the tools to create a text file, then find it in the terminal. Such facility is key to creating and running a PERL script.

I apologize that this article covers Windows only. However, an article that covers the other operating systems as well would be too long for our easy summer pace. In the next article I’ll cover the Linux context. I’ll even try to extend to the Mac, though I don’t have one.

A Linux or Mac user who is unfamiliar with the terminal will still pick up valuable hints from this article. The reverse will be true as well: the Windows user will gain from reading the next article, even though its context will be Linux.

Jack or Oracle Tutoring by Jack and Diane, Campbell River, BC.

Summer programming (with PERL): next step: the terminal

Tutoring through the summer, you tend to land in projects.  The tutor brings the PERL project to another early milestone.

In my previous post, I talked practically about what you need to get started with PERL, should you choose to embark. While Macs and Linux systems include PERL, a Windows user might have to download a PERL bundle, of which there are choices (Strawberry and ActiveState being two I’ve used).

Next concern: the text editor used to write the scripts. (For our purposes, a script is a little program). It must produce plain text. Under Windows, Notepad
(All Programs→Accessories→Notepad) will do fine; Linux users have many choices, but I use “text editor” under Apps. As I’ve mentioned, I don’t have a Mac, but I searched a bit yesterday how a Mac user might produce plain text. This article describes how the Mac’s text editor can convert content to plain text using a command under the “Format” menu.

There is a final issue one needs to confront before starting with PERL: getting familiar with the terminal – aka, the command line.

To my knowledge, every operating system has a terminal. One point of difference among operating systems is how much (or little) the terminal is in evidence. Linux users are likely familiar with the terminal. Older people (myself included) recall using MS-DOS on the terminal.

On Windows, the terminal is called Command Prompt, and is under
All Programs→Accessories.

In Linux (perhaps), the terminal is called “terminal”, and is under Apps. (There are many flavours of Linux, but this is true for Ubuntu, anyway.)

For the Mac, this article tells me to find the terminal under “Applications/Utilities”.

For the purposes of running a PERL program, you need to be able to arrive at the location (called the directory) of your script file. Here are the basic commands you need:

Windows:

  • cd changes the directory you’re in.
  • dir tells the contents of the directory you’re in.

Linux or Mac:

  • cd changes the directory you’re in.
  • ls tells the contents of the directory you’re in.

In the next post, I’ll continue with some hints and examples of how to get around in the terminal to find a file. Until then, cheers:)

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

Summer programming: a little PERL

Tutoring over the summer?  Why not.  During the holidays, this tutor won’t necessarily work you too hard….

 
Back in March (see here and here), I opened the topic of programming with the language PERL. Today I’ll “start at the beginning.”

If you want to actually experiment with PERL, the question is, “Are you on Linux, Mac, or Windows?”

If you’re running Linux, you can run PERL programs right now. I know so, because I use Linux – specifically, Ubuntu.

If you’re running a Mac, I’m told that once again, PERL is native to your system, so you can run PERL programs already. However, the last time I used a MAC was the AppleIIcx in 1988; therefore, I don’t speak from experience.

If you’re using Windows, you’ll likely have to download a PERL compiler. Don’t worry; it’s free and I’ve done it before. There are several good bundles you can find on the internet. Some people like ActiveState, some people like Strawberry PERL…I’ve used both.

Going forward, your only other need is a text editor, which is a program that produces files in “plain text.” Document files are not plain text; a typical word processing program will not produce plain text unless specially ordered to (if that’s even possible).

If you’re running Linux, there are many plain text editors to choose from – including, under Ubuntu, one called “text editor”. Under Windows, there’s “Notepad”, which I’ve used faithfully for many years. I think you’ll find it under Accessories.

Once again: I don’t have a Mac. However, I’m sure it contains a text editor that’s easy to find, since Macs are good for stuff like that.

For today, we’ll leave it there. I’ll continue next time with writing a couple of lines of code in the text editor, then hopefully getting it to run:)

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

Math: Simplifying a radical expression

For this math tutor, the end-of-semester rush is about to end.  Tutoring for exam prep, you tend to return to those “messy” problems students would rather avoid….

Radical expressions are among the most difficult topics in high school math. Let’s explore an example:

Simplify \sqrt{x^7}\sqrt[5]{x^9}

Most people would be uncomfortable about this question. It’s really not that hard, as long as you know the exponent law

    \[\sqrt[a]{x^b}=x^{\frac{b}{a}}\]

,

where a, if not written, is meant to be 2.

We rewrite the expression as follows:

    \[\sqrt{x^7}\sqrt[5]{x^9}=x^{\frac{7}{2}}x^{\frac{9}{5}}\]

The law for multiplying expressions with the same base is to add the exponents. To add these fractional exponents, we need to get a common denominator as follows:

    \[\frac{7}{2}+\frac{9}{5}=\frac{7(5)}{2(5)}+\frac{9(2)}{5(2)}=\frac{35}{10}+\frac{18}{10}=\frac{53}{10}\]

Therefore, we have

    \[\sqrt{x^7}\sqrt[5]{x^9}=x^{\frac{7}{2}}x^{\frac{9}{5}}=x^{\frac{53}{10}}\]

To simplify, we reverse the exponent law for mutliplication:

    \[x^{\frac{53}{10}}=x^{\frac{50}{10}+\frac{3}{10}}=x^{\frac{50}{10}}x^{\frac{3}{10}}=x^5x^{\frac{3}{10}}\]

Reversing the radical-to-exponent law, we notice that

    \[x^{\frac{3}{10}}=\sqrt[10]{x^3}\]

We rewrite our answer as follows:

    \[x^5x^{\frac{3}{10}}=x^5\sqrt[10]{x^3}\]

Therefore,

    \[\sqrt{x^7}\sqrt[5]{x^9}=x^5\sqrt[10]{x^3}\]

The answer might seem surprising. In fact, for many, this process might need still further illumination. In future posts, I’ll revisit some of the ideas used in this one. Cheers:)

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

Math: decimals for single digits over 11

For this math tutor, the busy exam season is winding down.  Now tutoring shifts to summer maintenance, adults in night courses, and general interest….

We all know that \frac{6}{11} is a decimal. Being a fraction of two integers, it must either repeat or terminate.

It’s actually the denominator (the bottom number) that determines whether the decimal will repeat or terminate. A fraction in lowest terms will terminate if the denominator’s factors are also factors of 10. (I’ll talk more about this in upcoming posts.) 11, of course, has only the factors 1 and 11. Since 11 is not a factor of 10, no reduced fraction with denominator 11 will terminate. Instead, each such fraction must repeat.

If you try \frac{6}{11} on a calculator (by entering 6÷11), you’ll get

    \[\frac{6}{11}=0.54545454....\]

Entering \frac{8}{11} gives

    \[\frac{8}{11}=0.72727272....\]

Entering \frac{4}{11} yields

    \[\frac{4}{11}=0.36363636....\]

It seems that the repeating pair of digits always sum to 9. If you try \frac{10}{11}, you’ll get

    \[\frac{10}{11}=0.909090.....\]

Clearly, the lead digit is always one less than the numerator (the top number of the fraction). At the same time, the lead digit and the second one add to nine. Therefore, we can predict the decimal for a single digit over eleven, as follows:

Example: Predict the decimal for \frac{2}{11}.

Solution: We know that the first digit of the decimal will be one less than 2, which will be 1. We know that the first digit, plus the second, will add to 9. Therefore, the second digit must be 8. Our prediction is that

    \[\frac{2}{11}=0.181818...\]

Checking with the calculator, we see the prediction is correct:)

With this method, you needn’t wonder about the decimal for a single digit over 11. I’ll be talking more about fractions and decimals in posts this summer. Hopefully, we can look forward to some relaxing time together. Cheers.

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

English: paradox vs oxymoron

Tutoring English 12, both these terms come up.  As an academic who loves ideas, the tutor offers his explanation of each.

Paradox and oxymoron are literary devices.  Identifying them can be worth marks on the English 12 government exam.  So, what are they?

A paradox is a statement that poses two contradictory facts, yet somehow it’s all true. An example might be

He’s a very outgoing recluse.

If someone is outgoing, why would they live like a recluse?  Yet, so many people meet that description:  they love conversing with people, but rarely go out into the world. Glenn Gould, the famous Canadian pianist, was known to be so.

Another example:

She’s so late, she’s early.

Anyone who’s ridden buses that come an hour apart, but missed one, knows this situation.

An oxymoron is a seemingly opposite description that still makes sense.  An example:

Touching the ice, he felt the burning cold in his hands.

Anyone who’s had a really cold hand knows that it can feel like it’s burning.  The body has a weak distinction between the two sensations in such a case, so that one can resemble the other.

One more oxymoron:

The proposal was met with deafening silence.

“Deafening” means “loud”, of course; yet, silence can be just as numbing as loud noise in some cases.

To wrap up:  a paradox is a seemingly contradictory statement that somehow is still true. An oxymoron is a description that seems impossible because the adjective contradicts the essence of the noun – yet, intuitively, the description rings true.

Whichever impossibility you face or witness, might it be described as a paradox or with an oxymoron?  We all struggle daily with facts that seem incredible:)

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

Math: a difficult factoring problem

Heading towards exams, tutoring returns to factoring and other challenging topics.  The math tutor shows how to solve a factoring problem that, at high school level, might be difficult.

Suppose you are faced with the following problem:

Solve -6x^5+46x^3+72x=0

This problem, when broken into the right steps, is not too hard. However, the steps are numerous.

Step 1:

Like most problems you encounter that contain x^2 or higher, you must factor. At the beginning of every factoring process comes the question: Is there a common factor? (For a crash course in common factoring, look here.)

We realize that, in our case, there indeed is a common factor: -2x. (As I mention in my post about common factoring, whenever the lead term is negative, you should factor the negative out.)

After the common factor is taken out front, we arrive at

(1)   \begin{equation*}-6x^5+46x^3+72x=-2x(3x^4-23x^2-36)=0\end{equation*}

Step 2:

We are now faced with how to factor the “inside”: 3x^4-23x^2-36. Of course, the common factor has already been removed. Since the lead coefficient is a 3, rather than a 1, we must use complex trinomial factoring:

i) Examining 3x^4-23x^2-36, we multiply 3(-36) to get -108.

ii) We need to find two numbers that multiply to -108, but add to -23 (the middle term). We start writing down pairs of numbers that multiply to make 108.

1 108
2 54
3 36
4 27
6 18
9 12
12 9

Once your number pairs reverse to earlier combinations, you won’t get anything new.

iii) Among the numbers we’ve tabulated above, we must find the pair that, if one is negative, can also add to make -23 (the second term in 3x^4-23x^2-36). We notice the pair to be 4 and 27, if we make 27 negative. Once again: one of the pair has to be negative, since, as mentioned above, the pair must actually multiply to -108.

iv) We rewrite 3x^4-23x^2-36 with its middle term shown as the sum of 4 and -27:

3x^4-23x^2-36=3x^4+4x^2-27x^2-36

v) We separate the rewritten expression into two pairs, then common factor each pair:

(3x^4+4x^2)+(-27x^2-36)=x^2(3x^2+4)-9(3x^2+4)

vi) The repeating factor (3x^2+4) indicates we are successful. Now, we reorganize our factored expression into two brackets:

(2)   \begin{equation*}x^2(3x^2+4)-9(3x^2+4)=(x^2-9)(3x^2+4)\end{equation*}

Step 3: We rewrite our original equation in factored form:

(3)   \begin{equation*}-6x^5+46x^3+72x=-2x(x^2-9)(3x^2+4)=0\end{equation*}

We now notice the term (x^2-9). Being a difference of squares, it can be factored to (x+3)(x-3). Finally, we arrive at

(4)   \begin{equation*}-2x(x+3)(x-3)(3x^2+4)=0\end{equation*}

Step 4: We need to solve the equation: we need to report the values of x that will make the left side equal to 0. We use the following reasoning:

If several values multiply to make zero, one of them must already be zero.

Therefore,

(5)   \begin{equation*}-2x(x+3)(x-3)(3x^2+4)=0\end{equation*}

implies that either -2x=0, or (x+3)=0, or (x-3)=0, or (3x2+4)=0. One by one, we consider each possibility:

If -2x=0, then x=0. Therefore, x=0 is one solution.

If (x+3)=0, then x=-3. Therefore, x=-3 is a solution.

If (x-3)=0, then x=3. Therefore, x=3 is a solution.

Since, in the real numbers, x2 cannot be negative, (3x2+4) cannot be equal to zero. It yields no solutions.

Our solutions to the seemingly endless problem -6x^5+46x^3+72x=0 are, finally, x=0, x=3, and x=-3.

You wouldn’t see many problems this difficult on a high school exam; you might encounter one. Good luck with it!

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.

English: preposition at the end of a sentence?

Tutoring English, you can’t avoid this issue forever.  The English tutor weighs in.

In old times, there was a rule against finishing a sentence with a preposition. Thus,

“Who(m) did you say that to?”

was gauche.  Was it wrong, or just in poor taste?  I don’t recall; I’m too young to have felt the rule full force.  Growing up in the 70s and 80s, I can’t remember its enforcement at school.  However, I did hear it mentioned among adults.  Many of the adults I grew up around were academic.

I haven’t heard of the rule for decades now; still, I’m conscious when I break it.  The obvious question is, “If you care about the rule, then why do you break it?”

The reason I do break the rule is that

“To whom did you say that?”

is unexpected.  When you talk in an unexpected way, people more likely miss your meaning.  To talk to people effectively, you must “speak the same language.”  If they end their sentences with prepositions, you might do well to follow.

Written communication differs from spoken; just the fact that it’s written makes it potentially more formal.  In print, people are more willing to tolerate different phrasings from what they, themselves, would use. Therefore, to uphold the rule of not finishing a sentence with a preposition, is more agreeably done in writing.

There still lurk, in university corridors, plush parlours, and brown studies, people who would be mortified to finish a sentence with a preposition.  In their circles, so be it.  That attention to detail – that belief that something has to be perfect in order to be acceptable – has brought tremendous success to England.  It’s ultimately why so many of us speak English today – even if those defenders of the language believe we do so quite badly:)

Jack of Oracle Tutoring by Jack and Diane, Campbell River, BC.