Web graphics: VML, part II: a textpath demo

Textpath is a nice effect from VML. Below is a link to a demo.

Text written along a shape can be appealing. VML (see my last two posts, here and here) includes a way to do it: textpath. Here’s the file link to a demo:

textpath demo

To view the effect in a post ie8 browser, see the instructions herein.

The weather’s been like California since I can remember…they say we’ll need rain soon. I’ll bring more VML in future posts:)



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

Web graphics: VML, part 1

The tutor continues about Microsoft’s VML with a demo.

To view the VML effect at the linked file below, you need to use an Internet Explorer browser.

Last post I opened the topic of VML. Today, I’ll offer a link you can follow to see some.

Herein, ie=IE=Internet Explorer.

The obvious question: if VML is not supported past ie9, how am I supposed to view the effects?

Answer: People running ie8 or earlier (who likely are people still using XP) can view VML either straightaway or else by clicking “compatibility view” (the broken window icon in the navigation bar).

Here’s the link: vml demo

People running current ie can view VML effects this way:

  1. Load the link. Likely, just a horizontal pink strip will show.
  2. Press F12. A control panel will open up at the bottom of the screen.
  3. Along the black top strip of the newly visible panel, look for an icon with two different sized screens. (On mine, it’s near the right.) It will tell the version of ie you’re currently using; mine says Edge.
  4. Click that icon; a choice menu will drop down. To view the VML effects, select 7 or 5 (oddly, 8 doesn’t seem to help).
  5. The page should change, showing blue writing angled across the screen. It’s a VML effect.

I’ll likely be discussing VML much more in future posts:)




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

Web Graphics: vector markup language (VML), part 0

The tutor shares one of his favourite topics:  vector markup language.

I started web design back in ’09.  I don’t have any training; it was just “look up and learn”.  Though not the quickest way to do so, I made progress.

Eventually I wanted to rotate some text.  I’m not sure why – had I seen it done somewhere?  By then, I was used to researching the web.  I set out to find the technique.

As it turned out, rotating text was not so easy as I’d expected.  Mozilla (Firefox) had the -moz-transform method; Chrome (fairly new at that time), the -webkit-transform method (related, I believe, to what Apple products would use). For IE (Internet Explorer), the corresponding-ms-transform had yet to become available.

Nonetheless, I was convinced a solution was possible for IE. By then, web programming had shown me that there were usually two ways to approach a problem: the “generic” way and the Microsoft way. Normally, both had to be done for a cross-browser solution. If Firefox had a way to rotate text, so must IE. Moreover, 40% of people used IE back then; it couldn’t be ignored.

It wasn’t the easiest topic to find, but eventually I stumbled onto VML – vector markup language. I don’t know why, but Microsoft was very modest about it, keeping it in what seemed to be their “back pages”. Within minutes I saw the potential.

I got busy around then, so never used VML much. Next thing I knew, -ms-transform was available on IE9.

Here is the history of VML – vector markup language – as I understand it. VML was developed by Microsoft as a proposed format for web graphics. From it and several other simultaneous proposals, SVG developed. For some time, SVG has been supported by all the major browsers.

Officially, VML is not supported past IE9 (likely because SVG is supported instead). However, VML remains embedded in other Microsoft applications. From my point of view, it’s an elegant format that is still fun to experiment with. You can even view VML effects on a current IE browser, if you know how.

My research indicates that while only 8% use IE today, 80% use Windows operating systems of some kind. Therefore, people commonly have access to IE.

Next post I’ll provide a file you can visit to see VML in action:)


w3schools os stats

w3schools browser stats




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

Coffee: a tutor’s reflections, part 0

The tutor discusses coffee, a cornerstone of the academic lifestyle.

In high school, I drank 8 cups of coffee a day. (I’m 6′ anyway; any taller and clothes might not be so easy to find.) My doctor told me, at age 17, that I should back off. Because he was a good guy, I did – for a week:)

At UVic, you could get coffee (back in ’95) for 30¢ if you had your own mug. The coffee bar opened at 8am; there was a line-up. It might be the only line I’ve been proud to be part of. For such a big place, the line was short – maybe around six people. We all knew each other, if only from there.

Imagining academic life without coffee is difficult. Good thing it’s cheap, because at times, academia doesn’t pay a lot of money. Sitting back, nose in a book, with a cup of coffee – to me, that’s the academic lifestyle.

Coffee has gotten more complicated since I was a student. However, it’s one of the few fronts of which I’ve kept abreast. What’s more, I haven’t learned about it by reading, but by doing – of me, atypical.

In future posts I’ll be sharing some of my discoveries from the field of coffee:)

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

Canadian Law: limitations(?)

The tutor watches American soap operas, whence he sometimes hears “statute of limitations.” Is there a similar construct in Canada?

I watch Days of Our Lives. Kristen Dimera, freshly back in Salem a few years ago, explained that though she had left under a cloud, she was now safe to return, due to the Statute of Limitations.

Somehow, I was skeptical. Then again, laws can differ widely from state to state in the US. Possibly, there is a state where the Statute of Limitations has such power. For all I know, there may be many. I decided to start from a Canadian point of view.

I’ve never studied Canadian Law. From what I’ve been able to discover, however, there are three types of criminal offences in Canada: summary, indictable, and hybrid.

For summary offences, the limitation period may be only six months. Summary crimes are the less serious ones. However, not many crimes are defined as summary. More about this below.

An indictable offence is the more serious type of crime. What I’ve read tells me that in Canada, there is no statute of limitations for indictable offences.

Hybrid means the offence can be charged as either summary or indictable, at the Crown’s discretion. By far most common crimes are hybrid.

Let’s imagine that years ago, person X committed theft under $5000, which is a hybrid offence. If now the case arrives at court, person X can be charged. When the charges are laid, the Crown will classify the offence as either summary or indictable. Beforehand, though, the defendant may not know for sure which classification the offence will receive.

If the Crown decides to classify the charge as summary, the process might stop, since there is generally a six month limitation on summary offences.

On the other hand, the Crown can classify the offence as indictable, in which case no time limitations apply. Then the Crown might try to convict, offer conditions, or what have you.

Under Canadian law, I doubt Kristen Dimera would escape prosecution based on the Statute of Limitations. However, the Dimera legal team could probably soften the impact significantly.






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

Standard deviation: a forestry example

The tutor offers a case study in statistics.

Around here, forestry might be the leading industry.  Of course, I hardly ever see evidence of it; up in the hills is where the work is done.

As I understand, one angle of the forest industry is trading woodlots. The buyer may not harvest the wood, but rather hold it until a good time to sell. The key in such a market is understanding the value of the trees on a given lot – which, largely, can boil down to statistics.

Case 1:

Let’s imagine Bill owns Managed Woodlot A. Nine years ago he knew the mean tree height was 25m, with standard deviation 8m. Let’s imagine a mature tree commonly grows about 3% per year (likely fairly reasonable, considering my post here).

Bill wonders, has the standard deviation of the trees’ heights necessarily changed, given the growth? (The reader might want a briefing on mean and standard deviation; see my post here.)


First, we realize the effect on a given tree’s height, xi, of nine years’ growth at 3% per year:

xi*(1.03)^9 ≈ 1.3xi

We can assume the same effect on the mean x

Σ1.3xi/n = 1.3x

Using the standard deviation formula


we substitute the grown values:


We can factor out 1.3:


to finally arrive at


We see that, indeed, the standard deviation of the trees’ heights has changed: like the mean height, it’s also 1.3 times what it was nine years ago.

Bill can proceed to other reasonable conclusions from the results here. I’ll be telling about them in future posts:)


Levin, Richard I. Statistics for Management. Englewood Cliffs, New Jersey: Prentice-Hall, 1978.

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

Web programming: sound

The tutor discusses his recent discovery of putting sound on a web page.

When I program, it’s usually something new – testing a new function, illustrating the implementation of a new idea, or what have you. The point: often, I don’t know the scope of the problem at first, and it ends up more challenging than expected. (An example was when I realized the bell doesn’t work on my Linux computer; see my post here.)

But statistically, wouldn’t you expect at least, that some programming problems end up simpler then expected? Maybe not so often, but it certainly does happen, and here’s an example: putting sound on a web page.

Perhaps going back to the workaround I developed for my Linux computer’s bell, I’ve become fascinated by sound files and how to activate them from programs. Yesterday I wondered about activating a sound from JavaScript. I checked around, but nothing jumped. I came to wonder if incorporating sound on a web page is even easier than I’d thought. Can it, I asked, just be done with a file link? The answer turns out to be yes.

I’m showing two ways in this post: one with the <embed> tag, the other with the simple <a> tag. The <embed> tag plays the sound spontaneously, whereas the <a> link you need to click to play the sound.

click here for sound (<a> link)

The sound you hear is a heavy spoon clinking against a heavy coffee cup. The curious can find more about that in my May 13 post.

I intend to talk more about sound files. Related topics have surfaced even during the writing of this post.




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

Fibre: soluble, insoluble?

The tutor has wondered about fibre ever since he heard about soluble fibre.

Back in the early 90s, when I was in university so cut off from day-to-day culture (no TV, no money, no time), a few snippets still did reach me.  One was the term “soluble fibre.” I was highly skeptical; how could fibre, undigestible by definition, yet be soluble?

At an early age I was taught that fibre passes through the intestines, keeping the bowels loose and the stool easy to pass.  It can do so because it’s not digestible.  At the same time, it holds water, keeping the stool soft.  Therefore, it speeds the movement of material through the gut.  To do so, wouldn’t you expect it to be insoluble?

Well, the insoluble fibre is the kind I’ve just described above.  However, soluble fibre also exists, but serves a different function.  In contrast with insoluble fibre, soluble fibre slows food’s exit from the stomach.  Apparently, as it dissolves in water, it forms a complex with the water molecules, giving them more inertia.  Possibly, cholesterol can get stuck in the complex as well, making it less likely to be absorbed.  Anyhow, the effect is that, with the soluble fibre binding together the water molecules in which it’s dissolved, the liquified food in the stomach is more sluggish.  Therefore, it stays in the stomach longer.  One result is feeling “full” for a longer duration after eating.  The other is a slower release of glucose into the bloodstream, which may help offset – or even prevent – symptoms of diabetes.

The sources of both soluble and insoluble fibre are numerous.  A variety of fresh fruits and vegetables, plus a variety of whole grains, will likely avail plenty of both. Here’s a fun fact, though:  oat bran provides soluble fibre, while wheat bran provides insoluble.  I seem to recall, from the 90s to the early 2000s, an increased focus on oat bran rather than just bran.

Soluble and insoluble fibre: now we know:)


Web MD

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

Linux: terminal: the cat command

The tutor continues coverage of the Linux terminal, this time discussing the cat command.

Terminal commands are old news to many, but I find them very useful.  Possibly because this laptop is ten or more years old, it can take 15 to 30 seconds to load a desktop application.  The terminal, once it’s up, is flexible and quick.

Let’s imagine I want a quick look at a file, maybe to check how an operation is coded.  Without opening another tab of the word processor, I can quickly key in, at the terminal,

cat filename

I immediately receive the file on the black screen.

I can add the option -n as follows:

cat -n filename

Then, the file is shown with line numbers – very convenient for a programmer.

For me, the quickness of viewing a file from the cat command makes it a very appealing command to use.



McGrath, Mike. Linux in easy steps. Southam: Computer Step, 2008.

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

Linux: terminal: listing subdirectories (directories) only

The tutor shares a nice tip that he finds very helpful:  listing the subdirectories only with the ls command.

I write a lot of little programs to test built-in functions or show examples of their use.  Of course, as they accumulate, organizing them becomes important.

Before reading further, an important relationship to keep in mind is that a directory is to the terminal what a folder is to the desktop. A subdirectory, then, is like a folder within a folder. I use both file environments, so I use the terms directory and folder interchangeably.

Very often, I’ll store a day’s work in a folder labeled that date, within another folder for the project to which it belongs or what have you.  Returning weeks later, I need to know, from an upper directory, where the folder (aka subdirectory) of a particular date might be.

While there are several ways to find out, I like ls because it’s quick and minimal -especially if you know how to tailor it. The good people at stackoverflow.com offer the variation

ls -d */

as the way to return the subdirectories only.

But what if you want (like me) to know how deep the structure goes?

You can check for second-level subdirectories thus:

ls -d */*/

or third-level thus:

ls -d */*/*/

You can also do simultaneous checks:

ls -d */ */*/

reveals the subdirectories in the current one, as well as the ones they contain.

There might be better ways to search around, but for my purposes these variations of ls work great.


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