New Age Woo

I’ve always been interested in religion. I even took a course in comparative religion in university. During that course, I became interested in some Eastern religions, such as Buddhism and Taoism. And I enjoyed reading the Tao Te Ching and the Zhuangzi.

But over time, I realized that, no matter how noble the original intentions of any religion are, inevitably all religions become corrupted. And that there’s nothing as dangerous as religious leaders and teachers who seem to feel ennobled by their “holiness”. Many may well be sincere, but even the most sincere can be corrupted.

Yesterday, in my wanderings through cyberspace, I came across Naropa University, a liberal arts school in Boulder Colorado. Initially called Naropa Institute when founded by Chögyam Trungpa in 1974, the school offers a unique “contemplative liberal arts education”. Although it claims to be secular, its programs are heavily influenced by Buddhism. It’s reputation is, however, questionable since its credits are not recognized by any other university.


By BuddhaNU (Own work) [CC BY-SA 3.0 or GFDL]

 

Chögyam Trungpa is an interesting character. Although revered by many, he clearly suffered from human failings. Here is a excerpt from the Wikipedia story on Trungpa:

In some instances Trungpa was too drunk to walk and had to be carried. Also, according to his student John Steinbeck IV and his wife, on a couple of occasions Trungpa’s speech was unintelligible. One woman reported serving him “big glasses of gin first thing in the morning.”

The Steinbecks wrote a sharply critical memoir of their lives with Trungpa in which they claim that, in addition to alcohol, he spent $40,000 a year on cocaine, and used Seconal to come down from the cocaine. The Steinbecks said the cocaine use was kept secret from the wider Vajradhatu community.

Trungpa’s successor as head of the institute, Ösel Tendzin, was no angel either. He lied about his HIV positive diagnosis and transmitted the virus to at least one of his students. Worse, Trungpa told Tendzin that as long as he did his Vajrayana purification practices, his sexual partners would not contract the virus. (See Controversy.)

There’s more. According the RationalWiki article on Naropa University, one student fell under the spell of her dance instructor, which, it is believed, led to her psychological breakdown and suicide. In response, her parents established the organization Families Against Cult Teachings.

For more interesting reading, visit the blog The Boulder Buddhist Scam, written by a former student.

Kingston Pen Tour

We finally got around to taking the tour of the old Kingston Pen. Last Summer, the tours were very popular, and by the time I went on-line to buy tickets, they were all sold out. This year, I booked tickets well in advance, and had a good selection of tour times.

Here are some of the pictures I took during our visit:

A Photo Walk Along Eglinton West (2008)

I was going through some old photos and I came across a batch I took about nine years ago in the Eglinton West area in Toronto. I thought I’d revisit some of these photos.

Now and then I like to wander around and take photos. On this day in April 2008, I took an exceptionally large number of photos, 250 all together. When started out in the Eglinton West area, the sky was dull. That’s okay. Although the photos look dull in color, desaturating the photos can give a different flavor to the pictures.

As you can tell by the photos, this is gritty working-class neighborhood, typical of west Toronto. Like most of the city, there’s a variety of different cultures.

Adventures in WordPress

I’m an old school programmer. I remember a time when internet access was slow and we could see images slowly appear on web pages. At the time, understanding the technical aspects of HTTP and HTML were important to properly balance out design considerations and performance.

But times change. And I’m getting too old to worry too much about the nitty-gritty details. In my professional life, I dealt with one content management system, Zope. We were trying to develop a system based on Zope and Plone, but for various reasons, the effort wasn’t successful. I’m a big fan of Python. But sometimes it seems that, because the language is so easy to use, systems built using Python can get bloated very easily.

About five years ago, I learned PHP. It’s an ugly language with a less than stellar reputation. But it is ubiquitous and widely supported. Likewise, there are aspects of WordPress that grate with my old-school programmer creds. But it is widely used and supported. Sometimes you just have to be pragmatic.

For about 6 years, I was the webmaster for our church, the Kingston Unitarian Fellowship. Up until recently, the site was hard-coded HTML using SSI and Javascript. And it took some effort to make the site mobile-friendly. But back in January, the board directed me to use WordPress for the church website. It was not entirely surprising since we talked a bit about it before. And it made sense since other people in the congregation would then be able to update content. That was an important consideration for me since I knew it was only a matter of time before we would end up resigning our membership.

Starting from zero knowledge, I had most of the site converted within a matter of hours. Over the next week, I gained the knowledge to move over the dynamic content, and fix a few other glitches. And after a few months, I learned the “right” ways to do certain things, such as where to load the custom CSS and Javascript files.

With that new knowledge and experience, I decided my own web site needed a revamping. It most definitely was not mobile-friendly, and I hadn’t done much with the site for years other than occasionally update the genealogy section. But there was some content that sometimes prompted visitors to drop a few bucks in my “tip jar”. So I set out to bring my web site solidly into the 21st Century.

My site had literally hundreds of static pages. How to approach such a task? First, photo albums took up a large number of pages. I decided to implement the photo albums using a custom WordPress plugin with Ajax loading of the photos. Conversion of the content was made easier with a custom script.

The next biggest group was a set of about 200 pages, each one for a specific area in the city of Toronto. Again, I wrote a custom plugin with Ajax loading of the individual pages, and converted the pages using a custom script.

The rest had to be handled manually. That put a lot of pages in the main menu. So many in fact, that I reached a hard limit, making it difficult to update the menu. I ended up adding smaller sub-menus included at the top of some pages. Over time, I’ll do more of that to make the main menu more manageable.

Finally, I copied over blog postings from my blogs hosted on Blogger.

There are always trade-offs with any project, such as a web site. I like the freedom you get with a hard-coded site. But that takes much more of an effort. I’m not a big fan of the choices of theme you get with a content management system, but I can live with the options provided by the default scheme that comes with the current version of WordPress.

Cheers! Hans

Solving Sudoku – Four Group Intersection

Here we come to the most challenging technique yet for solving Sudoku. This one involves looking at the intersection of two rows and two columns. Look for a situation where you have the same possibility in four unsolved cells, where those four cells are the corners of a rectangle. Consider the following diagram:

Here we have 4 as a possibility in the fours cells marked in green. Examine the other marked cells. If 4 does not occur in any of the red cells, then it must not exist in any of the blue cells.

That is, if 4 is not in any red cells, then there are two possible arrangements for the 4‘s in the green cells: upper-left and lower-right; or upper-right and lower-left. Either way, with just the green cells, the columns will already have their cells with value 4. If there are any 4‘s in any of the blue cells, they can be eliminated as possibilities.

In practice, this situation is rather rare. Sometimes, you’ll find cases where you’ll find the same value in four corner cells. But more often than not, you find that value in both the rows and columns. In those cases, see if it’s possible to eliminate possibilities to get to a state where you can apply this technique.

Note that this technique can also scale up to three columns and three rows. But that’s an even more rare situation.

Well, those are all the techniques I’ve figured out. To summarize, continually use the basic techniques until you reach an impasse. If you’re lucky, and the puzzle author is kind, the basic techniques will be sufficient. But once you find yourself needing to make notes, you’re probably into the realm of the advanced techniques. First look at the groups with lots of solved values, and the cells with few possibilities. And keep plugging away at it. With experience, you’ll find it easier to recognize the situations where you can apply the more advanced techniques.

Hans

Solving Sudoku – Rectangle

This is the fourth posting in the series of techniques for solving Sudoku puzzles. First, I discussed the basic techniques. Then, I discussed single-group partitioning and two group intersection. Those techniques are enough for the vast majority of puzzles. Here, I discuss another technique that might be useful.

This technique takes advantage of an important characteristic of Sudoku puzzles. All puzzles have (or should have) one unique solution. Consider the cells at the four corners of a rectangle, for example:

Consider the cell at the lower right. If values 6 and 7 were eliminated, we would be left with an ambiguous state. That is, these four cells would all have the same two possibilities. There would be two possible solutions. But we can’t have that. We must have a unique solution.

Therefore, the possibilities 6 and 7 must remain, and we can eliminate the possibilities 4 and 5 from that cell:

And of course, once possibilities are eliminated, other opportunities to proceed will open up. In this particular example, if there were only three possibilities instead of four, we could write that in directly.

Next up, four group intersection.

Hans

Solving Sudoku – Two Group Intersection

Let’s continue with a study of the advanced Sudoku solving techniques. In my previous post, I looked at partitioning the cells of a single group. In this epistle, I look at what you can do with two intersecting groups. In this case, it’s a 3×3 square intersecting with either a row or a column. (If you consider the intersection of a row and a column, you can apply one of the basic techniques.)

Consider the groups marked in green in the following:

We have two groups: a row and a 3×3 square. Look at the three cells that belong to both groups, and consider the value 4. Within the row, the value 4 exists only in the intersecting cells. Within the 3×3 square, the value 4 must exist in one of those two cells that also belong to the row. Therefore, the value 4 can be eliminated from the other cells of the square.

With the techniques described up until now, you have the means at your disposal to solve the vast majority of puzzles. But there are still a few tricks left, which will have to wait until later postings. Next up, we look at the corners of a rectangle.

Hans

Solving Sudoku – Single-Group Partitioning

Okay, so you’ve mastered the basic techniques to solve Sudoku puzzles, and you’re still stuck on a puzzle. At this point, you’ll need to make notes, writing in small print the possible values at the top of each cell. There are a number of “advanced” techniques that can help you progress. At no time should you have to guess at a possibility. All puzzles should be solvable using analytical methods. However, note that most of the advanced techniques only help you to eliminate possibilities. You’ll still need to basic techniques to finish the puzzle. But eliminating possibilities should provide more opportunities to apply the basic techniques.

The technique I describe here involves looking at the cells of one group. Consider the following group with possibilities listed:

Before continuing, have a look to see if you can spot any possibilities can be eliminated.

Note that the values 1 and 2 exist in only two cells in that row, and not in any other cells. Since those two values can only be in those two cells, all other possibilities can be eliminated:

At this point, with those values eliminated, you may find opportunities for applying the basic techniques, allowing you to move forward.

One more note on this particular example: The full 3×3 square at the left is not shown. However, now that we know that two cells of the square only contain the values 1 and 2, we can now eliminate those values from the rest of the cells of that square.

Note that the technique can also be applied with three values. Look for a set of three values that exist in only three cells. All other values in those three cells can be ruled out. Likewise for four or more cells.

In the next installment, I look at an advanced technique involving two intersecting groups.

Hans

Solving Sudoku – The Basic Methods

Do you want to learn how to solve Sudoku puzzles but don’t know where to start? Read on! In this missive, I discuss the basic solving technique.

To start, consider the following puzzle:

Look at the cell marked in blue. An experienced player should be able to look at the puzzle and immediately know what the solution is for that cell. Scan the puzzle above that cell and also to the left. Consider that the value 1 cannot occur in any of the empty cells marked in green. We see that the blue cell is the only cell in the lower-left 3×3 group where the value 1 is possible.

(The keen observer will see another opportunity elsewhere in the puzzle where a 1 must be the solution for a cell.)

While solving a puzzle, as you’re entering values or eliminating possibilities, constantly look for these opportunities since these are the easiest to find.

Okay, so you applied this technique as much as you can and you’re stuck. What next? Consider the following diagram of the above puzzle but with a few values filled in:

Although we can still apply the first technique, let’s see if we can apply the second basic technique. Consider the cell marked in blue. That cell belongs to three groups: a column, a row, and a 3×3 square. Note that the value of the blue cell cannot be the same as any other value in those three groups. So, for that cell, list out its possible values. We see that eight possible values can be eliminated, leaving only one possible value for the cell: 1.

To find opportunities to apply this technique, look for groups with lots of values already filled in.

I’ll leave the rest of the puzzle to you. Click here to print out a clean copy of this puzzle. It’s the first puzzle in that document.

Using these two techniques, you can solve most puzzles published in newspapers and magazines. To practice, try out the Beginner Puzzles. In my opinion, the best way to solve Sudoku puzzles is by pen and paper, relaxing in an easy chair.

When starting out, it may be useful to write in the possible values in small print at the top of a cell, crossing them out as you progress through the puzzle. But with experience, you should be able to apply both of these techniques without making any notes.

In later columns, I’ll cover the more advanced solving techniques. Next up, single-group partitioning.

Hans

4 String Chord Explorer

Some time ago, I wrote about a method of building your own ukulele chords. I’ve always realized that the process can be done automatically. But only recently, I finally got down to coding, and came up with an easier solution, which you can now try, at 4 String Chord Explorer.

This is a set of tools any ukulele player can use. Or the player of any stringed instrument with four courses, such as tenor banjo or mandolin. I realized that the algorithm used for determining ukulele chords could apply to any instrument. (Once you get past four courses, things get more complicated, so to make things easier, I decided to limit the tools to just four.)

The first is a simple tool for creating your own custom chord diagrams. Just enter the requested information, press the “Create Chord Diagram” button, and the diagram appears. Right-click on the picture and you can save the diagram to your computer.

Next on the page is a set of five separate tools. First, choose the instrument you’re dealing with. If you want a completely different tuning, you can select the notes for each string. Next, choose the function. Currently, there are five you can choose from, each one using the specified instrument or tuning.

Chords by chord type: Select the root note and type of chord. Then click on “Selected Chords” to show possible fingerings for that chord.

Chords by root note: Select the root note, and click on “Chords by Root”. You’ll see 24 different chords for that root: major, augmented, 7th, minor, etc.

Chords by family: Select the key, and click on “Chords by Key”. You’ll get a table showing the most common chords for that key.

Custom chord chart: Start by clicking the “Chord Chart” button. You’ll get a bunch of chord diagrams, 13 for each key. If you prefer a different fingering for a particular chord, click on the chord. Once you’re satisfied with the selection of chords, go to the bottom of the page. Specify a custom title and page size, click on “Create PDF”, and you’ll get your own single page chord chart that you can print out.

Search for chord: Finally, a reverse-search tool. Specify the fingering for a chord, click on “Search for Chord”, and you’ll see the chords that match the fingering.

Cheers! Hans