Monday, June 29, 2015

The Porteus Alternative

I wrote a few months back on using Puppy Linux on a USB stick in the classroom. This post will follow in the same vein though instead of Puppy, I will be using the Porteus distribution. Puppy seems a little out-dated and I never had any luck installing the Pygame package. I probably would have turned to Porteus earlier had it not been for a quirk in the search engines. 'USB linux' doesn't return anything linking to Porteus. A search of 'portable linux' puts links to Porteus very high among the results. The most recent version of Porteus dates back to December last year and ranks in the top 50 or so at Distrowatch. Somehow, I missed it last year when I was doing the basic research for Puppy. I'm glad I now have the chance to talk about it.

Porteus starts out at this page where one 'builds' the .iso from scratch. A unique system that seems to work well. I left the settings pretty much at default except for changing the local time zone and choosing the XFCE desktop environment, a vast improvement over what Puppy had to offer, by the way. The size of the .iso is comparable to Puppy, (~200 MB) and takes only a few minutes to download.

Once the .iso is downloaded, Porteus can be installed on the USB. Again the process is a little different from what I've been used to. It's described here. As the link says in the 'Installing Porteus to a USB Flash Drive' section, "you must extract or mount the .iso file in order to copy the /boot and /porteus directories to your target device." Extract and copy those two folders to the root of the USB. Once done, navigate to the /boot folder on the USB and open a terminal there. Execute the following: "sudo sh Porteus-installer-for-Linux.com" and provide a password when prompted. The Porteus USB is now ready to boot.

On starting Porteus, there are a few changes to be made. First off, it's necessary to make the USB persistent. After that, any changes made (like WIFI passwords, newly installed applications, data files etc) will not disappear after shutting down. I found it rather tricky. The menu item "Porteus Save file manager" starts a wizard to create a 'save file' where changes can be saved. It works smoothly. I created the file 'porteussave.dat' in the 'porteus' folder. The next step is to navigate to the /boot/syslinux folder and open a terminal. The file 'porteus.cfg' should be there and it needs a little altering. Open the file as root: 'sudo mousepad porteus.cfg' should do it. 'toor' is the root password. Look for the information about XFCE in the porteus.cfg file and edit the entry to look like this: 'changes=/porteus/porteussave.dat'. Only the information /porteus/porteussave.dat' needs to be added, the rest of the line can be kept as is. Create some empty text files or connect to WIFI. If the connections and the files persist after rebooting, your efforts have been successful.

The next step is to download and install a number of applications not included in the original .iso. They are Python, Tkinter, Pygame, Geany and the Gimp. The package manager doesn't seem to work, so the following should be downloaded from the http://pkgs.org site. Search the site in the Slackware 14.1 (or 14.0) section.

From these pages:
http://pkgs.org/slackware-14.1/slackware-i486/python-2.7.5-i486-1.txz.html
download Python in .txz format.
http://pkgs.org/slackware-14.0/salix-i486/pygame-1.9.1-i486-3gv.txz.html
download Pygame in .txz format.
http://pkgs.org/slackware-14.1/slackware-i486/pygobject-2.28.6-i486-2.txz.html
download PyGobject in .txz format.
http://pkgs.org/slackware-14.1/slackware-i486/pygtk-2.24.0-i486-1.txz.html
download GTK in .txz format.
http://pkgs.org/slackware-14.1/slackware-i486/tk-8.6.1-i486-1.txz.html
download TK in .txz format.
http://pkgs.org/slackware-14.1/slackware-i486/tcl-8.6.1-i486-1.txz.html
download TCL in .txz format.
http://pkgs.org/slackware-14.1/slackware-i486/gimp-2.8.6-i486-1.txz.html
download GIMP in .txz format.
http://pkgs.org/slackware-14.1/salix-i486/geany-1.23.1-i486-1gv.txz.html
download GEANY in .txz format.

Once these files are downloaded, they can be moved to the /porteus/modules folder and converted (txz2xcm) into the .xzm format. Then they should be activated. Both operations can be done by right-clicking on the file and selecting the option from the menu. Once activated, the application should be ready to use.

One more item is to ensure that the files are accessible to Windows without booting. As with Puppy, the /etc/rc.d/rc.local_shutdown needs to be edited with an additional line of code. First, unlike Puppy, the file needs to be made executable. Navigate to /etc/rc.d/ and open a terminal. Then type 'sudo chmod +x rc.local_shutdown' followed by the password 'toor' when prompted. Then 'sudo mousepad rc.local_shutdown' and add the following line to file:

cp -r /home/guest/homework/* /mnt/sdb1/homework/

Finally, copy an files you want into a 'homework' folder in the guest folder then go to the root folder and create another new folder 'homework'. It should sit between /boot and /porteus. I decided against copying the contents of the accessible root homework folder to the inaccessible guest homework folder for security reasons. Users will have to remember to transfer any work done outside Porteus (like in Windows) to the guest homework folder.

The XFCE desktop, the fonts, menus, panels and wallpapers can now be edited to taste. And the USB is complete.

Thursday, May 21, 2015

Bypassing the UEFI

I'd like to outline the procedure to install dual booting Windows/Linux on computers with the UEFI security system This abominable bit of malware can be found on recent models produced by HP and Acer etc. It seems to be associated with Windows 8. The required procedure is a departure from that of the straight forward BIOS machines, and following those original procedures will meet with failure. It's not difficult to bypass the UEFI but I struggled with it, spent a frustrating day consulting many difficult and confusing HOWTOs such as this one. I've done installations hundreds of times on pre-UEFI computers. It's possible to follow basically the same procedure once the UEFI has been bypassed. Here's how: Once you switch on the computer, having backed up any precious data in preparation, check very quickly for the key to enter the BIOS configuration. You'll only have a few seconds and there should be a message briefly displayed at the bottom of the screen. It's often F2 or the DELETE key, but it varies from machine to machine. Once in BIOS, a screen something like the following should displayed:

 Select the security tab:
 
And create a supervisor password. It doesn't have to be elaborate. Just ensure it's memorable. Once the password is created, select the boot tab:
 
Now the 'secure boot' option can be disabled. And the 'UEFI booting' option can be switched to 'legacy BIOS.' The booting sequence should also be altered at this point, so that USB containing the source iso should be given priority over the hard drive. The images used here will almost certainly differ from what is seen on your computer, but that's nothing to worry about. What's important is to 1) give yourself a supervisor password, 2) disable secure booting, 3) switch from UEFI to legacy BIOS, and 4) prioritize USB booting. Press F10 to save the settings. Now the computer is ready for normal installation. Use a 64bit Linux iso on these machines.

Saturday, May 9, 2015

I am the Game of Life. Play me.



## This post is meant to be copied and pasted into a text        
## file with a .py extension and run as a python programme.  
## If you are using Windows, you can download the  
## Windows X86 MSI Python 2.7.9 installer from the www.python.org   
## website. I wrote the programme, based on John Conway's  
## Game of Life to learn more about Python and especially Tkinter. 
## Tkinter is a bit of a disappointment but I'm pleased with
## the results.       
##               
## It was John Conway, the Liverpudlian mathematician, who
## invented the game in 1970. He first played it on paper and
## pencil rather than computer, and even the thought of this is
## exhausting. It's not hard to see what computers have done
## for new fields of math. The Game of Life is credited to have
## helped in opening up the study of Cellular Automata. It's
## really not a game in the conventional sense, but it's fun
## to watch.
##
## Each red cell, or square, is a living organism. And each cell
## is surrounded by 8 other neighbouring cells. If a living red 
## cell is surrounded by 0 or only 1 other red cell, that cell will
## die in the next generation. Die of loneliness, I suppose. To
## die means to be replaced by a yellow cell. Similarly, if the
## red cell is surrounded by 4 to 8 other red cells, that cell
## will die in the next generation of over-crowding. A red cell
## will survive and continue to live in the next generation if it
## is surrounded by 2 or 3 neighbouring red cells. One more rule,
## if a yellow cell is surrounded by exactly 3 red cells, it will
## come to life in the next generation and be replaced by a red 
## cell. You can read Martin Gardner's original introduction to 
## the game in his 1970 column in Scientific American. 
##  
#!/usr/bin/env python2

import Tkinter as tk

def quitgame():
    root.destroy()

def advance1():
    gen_number = 1
    advance(gen_number)
    
def advance10():
    gen_number = 10
    advance(gen_number)

def advance100():
    gen_number = 100
    advance(gen_number)

def advanceinfinity():
    gen_number = 100000
    advance(gen_number)

def advance(gen_number):
    global tally
    for k in range (gen_number):
        ##main loop to check neighbours
        for x in range (25):
            for y in range (42):
                Matrix[x][y][1] = 0

                if Matrix[x][y][0] == 6:        
                    colour_flag = 'red'
                    tally_neighbours(x,y)
                else:
                    colour_flag = 'yellow'
                    tally_neighbours(x,y)

                if (tally>3 or tally < 2) and colour_flag=='red':
                    Matrix[x][y][1] = 7
                    A=tk.Button(frame2, bg='yellow')
                    A.grid(row=x,column=y)
                    frame2.grid()

                if tally == 3 and colour_flag == 'yellow':                    
                    Matrix[x][y][1] = 5
                    A=tk.Button(frame2, bg='red')
                    A.grid(row=x,column=y)
                    frame2.grid()

                tally = 0
            root.update()

        for x in range (25):   
            for y in range (42): 
            ## transferring info from 3rd to 2nd dimension
                if Matrix[x][y][1] == 5:
                    Matrix[x][y][0] = 6
                if Matrix[x][y][1] == 7:
                    Matrix[x][y][0] = 0

def tally_neighbours(x,y):
    global tally
    if x!=0 and y !=0 and Matrix[x-1][y-1][0]==6:
        ## for checking surrounding 8 squares
        ## of middle cell
        tally = tally + 1                              
    if x!=0 and y !=0 and Matrix[x-1][y][0]==6:
        tally = tally + 1
    if x!=0 and y !=0 and Matrix[x][y-1][0]==6:
        tally = tally + 1
    ## these try statements make sure
    ## no error message occurs when i
    ## overstep the bounds positively.
    ## Negative overstepping is not OK
    try:                                                
        if x!=0 and y !=0 and Matrix[x+1][y+1][0]==6:   
             tally = tally + 1                          
    except IndexError:                                  
        pass
    try:
        if x!=0 and y !=0 and Matrix[x][y+1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x!=0 and y !=0 and Matrix[x+1][y][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x!=0 and y !=0 and Matrix[x-1][y+1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x!=0 and y !=0 and Matrix[x+1][y-1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
########################
## for checking 5 squares surrounding
## top row cell
    if x == 0 and y != 0 and Matrix[0][y-1][0]==6:      
        tally = tally + 1                               
    try:
        if x == 0 and y !=0 and Matrix[0][y+1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x == 0 and y !=0 and Matrix[1][y][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:              
        if x == 0 and y !=0 and Matrix[1][y-1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x == 0 and y !=0 and Matrix[1][y+1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
#########################
## for checking 5 cells surrounding
## left column cell
    if x != 0 and y == 0 and Matrix[x-1][0][0]==6:      
        tally = tally + 1                               
    try:
        if x != 0 and y == 0 and Matrix[x-1][1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x != 0 and y == 0 and Matrix[x][1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x != 0 and y == 0 and Matrix[x+1][0][0]==6:
            tally = tally + 1
    except IndexError:
        pass
    try:
        if x != 0 and y == 0 and Matrix[x+1][1][0]==6:
            tally = tally + 1
    except IndexError:
        pass
#################
## for checking 3 cells surrounding
## top left cell
    if x == 0 and y == 0 and Matrix[0][1][0]==6:       
        tally = tally + 1                               
    if x == 0 and y == 0 and Matrix[1][0][0]==6:
        tally = tally + 1
    if x == 0 and y == 0 and Matrix[1][1][0]==6:
        tally = tally + 1
    return tally
## for choosing (and correcting) initial configuration
def startMove(i,j,event):               
    if Matrix[i][j][0]== 0:
        event.widget.config(bg='red')
        Matrix[i][j][0]=6
    else:
        event.widget.config(bg='yellow')
        Matrix[i][j][0]=0
    
root = tk.Tk()

Matrix = [[[0 for z in range(2)] for y in range (42)] for x in range (25)]

tally = 0

frame1 = tk.Frame(root)
frame2 = tk.Frame(root)

instruct = tk.Label(frame1, text="Initialize the game by clicking on a few yellow squares. ")
instruct.pack(side=tk.TOP)
onebutton = tk.Button(frame1, text="Advance 1 generation", command=advance1)
onebutton.pack(side=tk.LEFT)
tenbutton = tk.Button(frame1, text="Advance 10", command=advance10)
tenbutton.pack(side=tk.LEFT)
hundredbutton = tk.Button(frame1, text="Advance 100", command=advance100)
hundredbutton.pack(side=tk.LEFT)
infinitybutton = tk.Button(frame1, text="Advance forever", command=advanceinfinity)
infinitybutton.pack(side=tk.LEFT)
quitbutton = tk.Button(frame1, text="Quit", command=quitgame)
quitbutton.pack(side=tk.LEFT)
frame1.grid()

for x in range (25):
    for y in range (42):
        A=tk.Button(frame2, bg='yellow')
        A.grid(row=x,column=y)
        frame2.grid()
        A.bind('', lambda e, x=x, y=y: startMove(x, y, e))

root.title("Martin's Conway's Game Of Life")
root.mainloop()

Saturday, March 14, 2015

Clone That Puppy

If you read my previous post on the Live USB Puppy for Python education, you may have noticed at least two problems with it. I will address them here.


The first is that the Python graphics package Tkinter is not designed to deal with animation. I tried anyway, it was awkward, and I abandonned the idea. I installed the Pygame package and have been working happily with that instead. Since I believe that writing simple games and animation are the best way to teach programming to youngsters, something like Pygame is essential. There's a .deb package available for download here. And there is a pretty good introductory tutorial here. Pygame can be installed on Puppy clicking on the .deb file, same as outlined for the other packages in the previous post.

The second problem lies in using the USB in the classroom rather than anything to do with the USB itself. It takes about 25 minutes at least to prepare a USB in the manner I outlined. For a class of 10 students, that means the teacher is facing hours of tedious and attention demanding time at the terminal, if each student is to get their own USB. Intuitively, I'd just like to simply copy whatever is on the Puppy and paste it onto an empty USB. However, this doesn't work. I have something else in mind. Something that works. I found that I can cut down the time it takes to reproduce a USB to around 7 minutes. Still tedious and attention demanding, and fraught with the dangers of destroying valuable data at just about every step, but I managed to get the hang of it after only a couple of false starts. What we want to do is called cloning a drive or partition. You can also make an image of the USB and go from there, but it seems cloning is a little easier and no slower than going down the image route.

Download Clonezilla, (~160MB) and put it on a USB following these instructions. I followed the GNU/Linux method B and found it surprisingly easy. Prepare a target USB stick, where you intend to put the cloned copy. The source will be the 'original' USB created following the instructions in the previous post. Once Clonezilla is booted, I inserted the other two sticks. It's important to know which is the source with your Puppy on it and which is the target which should be empty. You also need to know how to identify the USB with Clonezilla on it, and also the hard drive and the partitions on it. I'm leery about altering my hard drive in any way, so my method only involves USB sticks. On this Toshiba laptop, that means every USB slot (all 3) is in use. Still the possiblilty exists of doing damage to data on the hard drives, so take care to identify them when presented with the chance. Here is an accurate walk-through of the cloning process. As I say, it takes around 7 minutes. Good luck and take care.

Friday, March 6, 2015

A Puppy in the Classroom

I've been quite busy over the past few months working with my computer. Something I'd like to present here is an arrangement (dare I say an invention) for teaching computer programming to young students. The classroom I have in mind has only one computer, that of the teacher. In my case, I have a Raspberry Pi connected to a large television set. The students have pens and notebooks and a USB memory stick prepared by the teacher.



This article is about the memory stick and how to make your own.

My goal is to teach elementary programming skills with the Python language, and the Tkinter modules for graphical user interface - buttons and menus etc. The Idle integrated development environment is included for convenience. A text editor like Notepad is all that is necessary, but Idle will help the programmer with tasks like indentation, parentheses balancing and identifying syntax errors. I'm using the Python 2.7 version, which is still pretty ubiquitous, rather than the newer and incompatible Python 3. Other languages are also possible.

I suppose each student could have their own laptop with them in class, but I don't believe this solution is practical, desirable, or necessary. Laptops are expensive and not every family has one. Those that do may well be reluctant to pack it up and allow their 12 year old child to take it back and forth to class. Every student with their own laptop in class would also create a lot of avoidable distraction and classroom clutter, never a good thing.

My solution is the Raspberry Pi with screen suitable for classroom use, and equipping each student with a USB memory stick. These memory sticks can be used in the classroom and at home, or anywhere else there's a computer, whether it's Windows, Apple or Linux. My design should also be reasonably easy to use and prepare and as safe as can be expected. If they are lost, they can easily be replaced in about 20 minutes. Technically, I think the most difficult task might be the changing of the booting sequence in BIOS at startup. This page should help in that regard.

Getting down to specifics, what I'm proposing here is putting an operating system on a USB memory stick. It can be installed on a stick as small as 1 GB, or even less, and to access the data therein, booted or simply be plugged into an already running system, whether it's Windows or whatever. The Live CD or Live USB that many linux distributions make available seem only meant as a test drive vehicle and not something permanent. A USB that holds an operating system with persistence, ie permanently saves any data files, WIFI passwords etc, created during the session is rare. The technical name for this is a persistent live USB. It's also possible to install an operation system onto a USB as though it were a hard disk drive, but I found these installs slow and prone to problems. All the software necessary is listed down below. No alteration to the parent's computer is needed except for the change to the BIOS booting sequence.

I must have tried out at least 10 different Linux distributions before settling on Puppy Linux. Lubuntu was a runner up and had some advantages over Puppy, more up-to-date for one, but Puppy did everything I wanted without any fuss. I've used Puppy for years now on my older computers, installed on the hard drive. It's fast and stable. At about 150 MB it's extremely light weight, yet requires very little extra software for my intended use. I have listed all the necessary downloads below, in total well under half a gigabyte, about half the size of the Lubuntu .iso file.

I will explain here how a teacher with any computer can prepare the student's USB. First, might as well download all 9 files listed below. Keep them together in a safe place. Then, using the windows .exe file Universal USB Installer, create a bootable thumbdrive by loading the file 'precise-5.7.1.iso.' There's a menu and there's an entry for 'precise' under the Puppy heading.  Preparing the USB will take a couple of minutes.

Once complete, reboot with the USB in place. To boot from the thumbdrive, you may need to change the booting sequence of the computer. On switching the computer on, press the F2 key and this should bring up the BIOS screen which allows the user to change the booting priorities among other things. Different computers may use a different key than F2. Look carefully and quickly at the messages at the bottom of the screen for instructions before the Windows starts to boot. It's all covered in the link I provided above. Booting from USB should be given top priority so that an inserted USB rather than the DVD or hard disk will be booted. This setting can be kept without any inconvenience to normal usage of the computer as long as you are aware that the computer will always attempt to boot whatever is in the USB slot on startup. For normal use, it's best to remove anything from the USB slots on startup. Attempting to boot a non-bootable (ie normal) thumbdrive may result in an error and necessitate a power down and restart.

Now you should have booted the Puppy Linux. You can connect to internet and make any adjustments in time and date if you want.  This is not necessary for the usage I have in mind. Maybe leave it to the more curious students to further explore the system. Beware it is possible to do real harm to the host computer such as formatting the hard drive using a programme like Gparted but that kind of risk remains with any system.

At the root of the USB drive, accessed by single clicking one of the drive icons at the bottom left of the Puppy Linux desktop screen, probably the one labelled 'sdb1,' create a folder called 'homework,' or whatever and copy any of your working files into it. This is done by right-clicking on the desired location and following the instructions to create a new folder. There will also be another folder, probably called 'UUI.' The new homework folder should appear beside 'UUI.' In my homework folder I have some pdf tutorials and other documentation and some projects both complete and incomplete. Also into the USB root, beside 'homework' and 'UUI,' copy the previously downloaded "devx_precise_5.7.1.sfs" file.

 Now single click on menu button, bottom left corner of the desktop, then choose 'Setup' then 'SFS-Load on-the-fly.' Follow the dialogue to load the 'devx_precise_5.7.1.sfs' file just copied to the USB root.The python language modules will now be ready.

The biggest challenge I faced designing the USB was to allow users to access data on the stick without booting, simply by plugging into an already running system, probably Windows. Here is my solution, Single click on the 'File' icon, top left hand corner of the desktop screen. This takes you to the Puppy home folder. Keep the 'Choices' and 'Startup' folders, the rest can be optionally deleted. Less clutter, more clarity is my mantra. Create a folder here, again right-clicking and following the instructions, called 'homework,' exactly like the one created a couple of paragraphs ago. There will now be a 'homework' folder in the USB root and one in the Puppy home.

Copy the following:

#!/bin/bash
# my start up

mv /mnt/home/homework/* ~/homework/

# put following in /etc/rc.d/rc.shutdown (at end)
# mv ~/homework/* /mnt/home/homework/


into a new text file and call it 'my_startup.' Again right-clicking and following instructions to create a file this time. In scripts like this lines beginning with # are comments and not executed. The action is all in the third line which on startup moves the homework folder in the USB root to the homework folder in the Puppy home. Save and store the 'my_startup' file in the 'Startup' folder. To take care of the shut down, navigate to the 'etc' folder. This can be found in the next level up from your present location in 'home.' Click on the up arrow of the file manager. From 'etc' enter the 'rc.d' folder then find the file (not folder) called 'rc.shutdown.' Edit this file by adding the following line to the end:

mv ~/homework/* /mnt/home/homework/

Save the changes. On shutdown now, the contents of the 'homework' folder in the Puppy 'home' will be moved to the 'homework' folder in the USB root. The data on the USB will be easily accessible from any computer.

Almost finished now. Click on the partition icon at bottom left of desktop screen. The icon should be 'sda1' or something like this and navigate to where you stored the 6 smallish '.deb' files downloaded earlier. Click (not double click) on one, (the order doesn't seem to matter) and follow the brief dialogue to install. Continue with the other five. Tkinter and Idle are now installed.

Go to the Menu => Desktop => Desktop drive icons manager. Untick the boxes, This removes the icons from the desktop that give easy access to the hard drive. This amounts to 'child proofing' the system and ideally, I'd like to go further, also removing potentially dangerous software, but I want to do this as quickly and easily as possible.While you are at it, you can optionally remove as many of the desktop icons as you wish. None of them are necessary.

You can also put an 'Idle' icon on the desktop. Go to Menu => File System => 'ROX-Filer file manager,' Navigate to 'usr' at the Puppy root then 'share' then 'applications.' Simply find the 'idle.desktop' icon file and drag and drop it to the desktop.

That's about it. If you want to connect to the internet or adjust time and locality setting etc, it's possible. I typically change the desktop background picture and remove superfluous icons from the desktop. Note that Puppy is a complete system and it's possible to surf the web, watch and download videos, and do whatever is normally done with computers.

When ready, go to the menu to shut down. On shutting down for the first time, you must create a save file. It takes a couple of minutes. My own is a fairly modest-sized 128 MB. I don't need any bigger and the larger the file, the longer the booting time.

That's it. For now, anyways.

from here:
download "precise-5.7.1.iso"  (156 MB)
AND from same place download "devx_precise_5.7.1.sfs"   (148 MB)

from here:
download the following: "blt_2.4z-4.2ubuntu1_i386.deb" (1.5 MB)

from here:
download the following: "idle_2.7.3-0ubuntu2.2_all.deb" (3 KB)

from here:
download the following:"idle-python2.7_2.7.3-0ubuntu3.5_all.deb"   (254 KB)

from here:
download the following:"python-tk_2.7.3-1_i386.deb"  (27 KB)

from here:
download the following:"tcl8.5_8.5.11-1ubuntu1_i386.deb" (1.1 MB)

from here:
download the following:"tk8.5_8.5.11-1_i386.deb" (1 MB)

finally from here:
download the following:"Universal-USB-Installer-1.9.5.9.exe"   (1 MB)

Sunday, October 26, 2014

Time for smut

This morning I woke up to discover that during the night the clocks had been set back an hour back to standard time. This gave me an extra hour. Why not share my latest adventures in cuisine? I bought some huitlcoche yesterday. At 20 peso an ear it's not cheap and its nickname is Mexican truffles. More properly it's called corn smut. It's a kind of fungus that infests corn. I'd read of huitlacoche but I don't believe I'd seen it in the market place and certainly never eaten it. Here it is:


I fried the huitlacoche into a hastily improvised salsa and enjoyed with tortilla chips. Unfortunately, neither my wife nor my dogs were willing to do much more than sniff at the results.


Monday, February 10, 2014

Libertarianism, Children and Smoking

I follow, with increasingly less interest, a libertarian website called Reason.com. Libertarians believe that people should be free to do as they choose as long as they don't hurt anyone. A laudable principle, I think.



So Brendan O'Neill, a libertarian writer who posts at Reason.com, posts this article recently about the Totalitarian Crusade Against Second Hand Smoke. It's all about the attempts to ban smoking in cars where children are present. Brendan argues these attempts "show what shockingly low esteem the ideal of autonomy is held in these days, so that anyone who stands up and says "I think adults should be free to choose what vices to indulge in and pleasures to pursue" is either laughed at for being naive or branded a wicked stooge for Big Tobacco."

Brendan also derides the 'Nanny State' and questions the sincerity of anyone who would speak on behalf of the children. Those commenting on the article take up this line of, let's be generous, argument and we find those disagreeing with Brendan mocked with  cries of "IT'S FOW DA CHILLDRUUUUNZ!"

What I found noteworthy in this exchange is how it squares with Libertarian ethics. Libertarians base their ethics on the sanctity of people to do as they choose, and the honouring of contracts freely entered into by parties who enjoy equal standing before the law. On the surface, it's fairly compelling, but for the fact that children are overwhelming the largest class of society that is systematically, legally prohibited from entering into contracts and fully taking part in society. IT'S FOW DA CHILLDRUUUUNZ only makes sense when one accepts the second class nature of children's participation in society.

Not only do most self-styled libertarians seem to accept this state of affairs, they revel in it. Why are children and the causes that benefit children treated with such contempt? To me, this illustrates the underside of Libertarianism. On the surface, it's all about reason and freedom. Only on the underside does it show its ugly nature: bullying, smugness, cheap-jack cynicism and spite. Children are society's weakest members, legally only a few steps away from a woman's or a slave's position a couple hundred years back. Rather than try to draw children into the circle of freely choosing people that constitutes a Libertarian society, libertarians seem content to kick a man (even better a child) while he's down.

Thursday, January 30, 2014

A Visit to Potaltik

Last Sunday, we enjoyed a visit to Potaltik, a large garden/nature reserve on the outskirts of Comitan, Chiapas, not far from the border with Guatemala. It was not the best season for viewing flowers as the garden was in a quiet period, but I look forward to another visit in a few months when the plants are blossoming. The owners of the garden, Ceci and Jorge, are especially interested in orchids and bromeliads, and they are dedicated to preserving and promoting these plants more than anything else.

http://lagaleriadelcorazonabierto.blogspot.mx/2013/08/el-paraiso-de-potaltik.html


Jorge is proud of his garden, gave us a tour and told us about the orchids. I'd come across the orchid/wasp mimickry in A Thousand Plateaus by Deleuze and Guattari. They use this example of the orchid relying on the wasp, (or with other varieties, other insects and spiders etc) to illustrate their key notions of rhizome and territorialization. (Becoming-Intense, Becoming-Animal) An interesting read but apparently these authors don't nearly do justice to the bizarre complexity of orchid sexuality. I learned from Jorge that orchids can't reproduce without the presence of a certain fungus, and wikipedia backs him up. The orchid's parasitism on the fungi is critical to germination.

It's important to note, that unlike the honey bee, the wasp doesn't feed off the orchid. His attraction is purely sexual, and it is often the case that the visiting wasp will actually ejaculate into the orchid. He'll be fooled again by another orchid and spread pollen in the attempt to find a true female wasp. Another parasitic relationship.

Despite all the fuss and bother, human sexuality is a surprisingly simple affair. Typically, a male and female of the same species get together and they produce offspring.

Orchid sexuality is anything but simple. Life on earth is divided into kingdoms. For those of us without microscopes, there are three kingdoms: plants, animals and fungi. What's significant to me about the orchid's sexuality is that it involves a collaboration spread across three taxonomic kingdoms. I wonder if there is any other living thing, so beautiful and close to us, that enjoys a sexuality so heterogeneous, wide-ranging and dispersed.

Sunday, January 19, 2014

Malcolm, Maya and Me


Just a few loosely connected items I want to bring up in this post, the first being the recent biography of Malcolm X by Manning Marable. I'd bought the original autobiography years ago but never got around to reading it. My knowledge of Malcolm came from watching videos of his speeches and the Spike Lee film. What surprised me about his life is the role of his family. His father was a dedicated political activist for Marcus Garvey, a conservative black separatist. Malcolm's conversion to Islam came about from the suggestion of another family member, one of his brothers, who told Malcolm that if he stopped smoking and eating pork, he would get out of prison. Not sure why his family playing such an important role in shaping his career should surprise me; perhaps its due to the heroic myth making that surrounds him.

Maya is the name of the 13th Mint Linux release. Number one was given a name starting with 'a', two 'b' etc. But before I go further, I have to bring up a problem I had with Windows.  Anyone not interested in a slightly technical discussion, or those who have not monkeyed around with the factory installed partitions on a Toshiba laptop may wish to skip the following paragraph.

I have a dual boot system, and my Windows partition was functioning extremely slowly. Even installation was painfully slow, and installing the automatic updates on shutdown took hours. At first I thought it was malware that I'd picked up along the way, but this couldn't have been the case. Then I discovered in the Linux disk utility programme that my Windows partition was misaligned. Never heard of that problem so I checked the forums, and indeed this is an issue that Toshiba hard disks are prone to, as well as a few others.  The terminal command "sudo fdisk -lu" will show if there is any problem with a misaligned partition. The forums didn't really give me any solutions, so I came up with my own. Very easy and quick once data is backed up. Using Gparted, delete the partition, and create it again, only this time, in the tab at the bottom of the page where the choice of align to CYLINDER, MB, or NONE is given, choose NONE, not the default option it should be noted. Run fdisk again to check the partition is properly aligned once Gparted has done its thing. If everything looks good, install Windows again. I did and the installation and all other read/write operations are some three or four times the previous speed.

Maya comes in to this because in the course of all this bother, I needed to reinstall the Linux. I'd lost the original Olivia 15 files in the shuffle, and decided to try the latest: Mint Linux Petra 16 KDE. (I was also keen to create a third partition, for data, accessible to both Windows and Linux.)  I found Petra a very unsatisfactory choice, and I decided a 'downgrade' was needed. It's not possible to downgrade a Linux version to a previous version. A clean start is necessary. The forums pointed to Maya, number 13, the most recent Long Term Release, where support will be continued for some years into the future. Not partition alignment, but some cosmic alignment issues also seemed to point in that direction, what with me living in the heart of the ancient Mayan civilization, as well as coinciding with my reading of Malcolm X's biography. 'mx' has long been my user name when dealing with Linux. Originally it had been simply 'm' but somewhere along the way, I ran into a release that insisted on my using at least two characters. I've been mx ever since. Malcolm X played no part in the choice, but it is noteworthy that he was shot and killed on my birthday and he was born on my sister's birthday. I hope these alignments make my choice an auspicious one. So far I am pleased.

Tuesday, December 31, 2013

The New Luddites



I thought I'd close of the old year with some thoughts about what I think of as the new Luddism. In the popular mind, Luddites are anti-technology. I think this misrepresents the purpose of the original Luddites who make their mark in England some two hundred years ago when industrial techniques were first introduced.

The original Luddites were craftsmen such as weavers etc who broke the power looms that were dispossessing them of their livelihood. They were opposed by the powerful and slandered as being haters of technology and Bonapartist spies. Over the years, the Napoleon calumny has died away, but the notion of them being anti-technology lives on.

In fact these craftsmen couldn't have been anti-technology. They used technology in their daily lives and their work. They often constructed and maintained their own equipment and indeed were probably more technically adept than their contemporaries. What motivated them was the issue of who was in control of technology. They wanted to maintain control of their work and its organization and realized that with the introduction of industrialization, they would lose this control.

So who are the new Luddites? It's not those who oppose technology but the hackers who dedicate themselves to making devices such as smart phones do their bidding rather than remaining under the control of their manufacturers. 'Jail breaking' is the term used and it often comes up in the press. Here's an announcement of the successful jail break of an Apple device.

I'm sure there are people who explicitly identify these hackers with the Luddites of old, but they seem to be extremely rare. Yet the Luddites of old and the hackers share the same motives: keeping the control of technology from slipping into the hands of others.

Friday, November 29, 2013

Coffee Klatch at Kiki's




The high point in my social calendar for this week came early. I was invited to the home of Kiki Suarez for a coffee klatch on Wednesday afternoon. Coffee, cakes and some stimulating company sitting around a table in front of a warm fire on a surprisingly chilly day. I'd never been to a coffee klatch so I wasn't sure what to expect. I had in mind one of the 'wednesdays' from a Proust novel, and though the events of the novel were far away and long ago, the day at least, Wednesday, was the same. I think Kiki also managed to capture the same spirit of elegant hospitality evident in the best motives of Proust's hostesses.

Kiki Suarez was born and raised in Hamburg, Germany and came to San Cristobal decades ago. In San Cristobal, she has been working as a therapist and hotel and restaurant owner. She's a prolific artist and also tirelessly supports the local scene by providing gallery space to artists and arranging free lectures and film screenings. She is a singular person and I feel privileged to know her.

Want to meet Kiki? The best I can do is to introduce her website. There are lots of paintings, photographs and stories. Her interests are wide ranging and there's something for everyone. Meet Kiki here.

Monday, October 28, 2013

Chaos and climate change

Complexity is a branch of mathematics that deals with phenomena that are not random but not predictable. It's a relatively new study that came into being back in the 1960s as a result of using computers to forecast weather. We all know how a pendulum works. It swings back and forth in a routine and predictable manner. Scientists for centuries have thought of nature as working in a similar way. Complexity, or chaos, on the other hand can be neatly exemplified by this counter intuitive computer animated model of a slight wrinkle on the simple pendulum, the double pendulum.

Not random, but not predictable. That's the essence of complexity or chaos theory, and it's popularly captured by the idea of a butterfly flapping its wings on one continent setting off a cyclone on another. Compare this to the old Newtonian conception of nature where every action is followed by an equal and opposite reaction.

I've been following the 'debate' over climate change and have been surprised at some of the arguments put forward by self-styled skeptics. I've seen a lot of people rejecting climate change because while CO2 gas continues to be emitted into the atmosphere, temperatures over the past 15 years or so have not appreciably increased. The very same people often also reject climate change because of the failure of the computer models to predict this 15 year hiatus. I don't take this objection very seriously because using computers to accurately predict the weather or climate is probably one of the most mind numbingly difficult intellectual challenges we have ever faced, and the failure of computers to accurately predict the weather or the climate is nothing new; it's been the norm ever since the problem was first taken on. To reject climate change out of thwarted expectations that computer models would suddenly give accurate predictions seems either naive or disingenuous.

The other objection, that we've been continually emitting billions of tonnes of CO2 into the atmosphere without any appreciable increase in temperature over the past 15 years, is more interesting. I think it comes from a linear, Newtonian mind set that underestimates the complexity of the climate and the physics of the atmosphere. It's intuitively satisfying that every billion tonnes of gas emitted should raise the temperature by some fraction of a degree, in some kind of lock step, action/reaction fashion, but our double pendulum showed us that intuition will only take you so far, and perhaps in the wrong direction.

Sunday, September 29, 2013

A new computer, a timely inheritance

My old computer finally had to be replaced. Its keyboard had started to lose keys; the CD player, wireless modem and microphone had never worked well and it was highly susceptible to over-heating. The battery had long ago died and could not be replaced. I was still happy to use it until for some reason the power consumption dimmed the screen brightness to something like half the original level. This solved the over-heating problems, but also meant I had to increase the font size to 24 before I could read anything on the screen. A very awkward situation.

Along with my slightly used new computer came some exciting new choices. I needed to partition it and get a hold of a linux OS and a windows OS. I'd been using Slacko Puppy linux which is a mere 100 MB in size. I was very happy with this version, which installs in about 15 minutes. But I thought with a properly working more modern machine I could go for a larger, more complete operating system. I downloaded the latest Ubuntu (because of its 'Asian language support') and the latest Mint. Both are about 700 MB. I tested both and rejected Ubuntu because of its awful user interface - I couldn't even find a command line terminal, and accepted Mint, which happily had no problems displaying Asian languages.

I ran into problems when it came to obtaining and installing windows. The computer didn't come with a windows CD so I had to look for windows to download. I chose two versions of xp pro and tried to install via usb memory stick. No luck. After burning to CD, one of the versions seemed to work. At least it installed without any error messages. The problems came later, no wifi capability, and no sound. There are probably other problems I haven't yet discovered. At the moment I'm downloading a 3.1 GB version of windows 7 and will try that once it arrives. Maybe by that time, I will have decided I can do without a windows partition on my computer.

Special thanks go to my late brother-in-law Kwon Young-oo, who died earlier this year. It's his computer I'm using now, and I appreciate the care with which it's been treated. I hope to continue to put it to good use.

Friday, August 2, 2013

Angel Baby

I heard this song as a part of the sound track to the less than superb sequel to the superb film Goin' Down the Road. I watched the sequel on an airline as I returned to Korea. When I got back I found the song on the internet, downloaded it and have kept it on my MP3 player ever since.

My wife Flora is soon taking a trip herself, and I feel it's time to share this song of love and longing.

I wish Flora a safe and successful trip and I hope she understands that wherever she goes and whatever she does, she has my support and I'll be there with her in my thoughts.


Wednesday, July 31, 2013

Chronic Unemployment and some appropriate new policies

I came across this article from a Czech website about Andre Gorz and a few other European thinkers that don't have much exposure in the English speaking world. It quotes Wassily Leontief, a nobel laureate in economics:

Adam and Eve enjoyed, before they were expelled from Paradise, a high standard of living without working. After their expulsion they and their successors were condemned to eke out a miserable existence, working from dawn to dusk. The history of technological progress over the past 200 years is essentially the story of the human species working its way slowly back into Paradise. What would happen, however, if we suddenly found ourselves in it? With all goods and services provided without work, no one would be gainfully employed. Being unemployed means receiving no wages. As a result until appropriate new income policies were formulated to fit the changed technological conditions everyone would starve in Paradise. 
 Gorz argues that since WWII full employment has become incompatible with increasing productivity, thanks mainly to the reliance on automation. He backs it up with some studies done in Germany:

 Here are some figures about the economy in formerly communist Saxony. In 2004, after investment of 1.41 billion euros in the region's 300 chemical factories, the region was producing about the same volume as it had in 1989. Only a tenth of the number of employees were required.

Another study of the number of jobs created by investment in industry in West German shows a similar trend:

1955-60 1 billion DM invested 2,000,000 jobs created
1960-65               "                    400,000 jobs created
1965-70               "                    100,000 jobs destroyed
1970-75               "                    500,000 jobs destroyed

What sort of "appropriate new income policies" does Gorz advocate? A reduction in working hours. How much of a reduction? In the case of Saxony, a 90% reduction seems called for. Gorz also calls for a social wage or universal dole to be paid to everyone regardless of employment status or merit. It seems to make sense, yet no politician I'm aware of is calling for such measures. I don't think there is much call from the public for them either.

Here it is public. Can't say now you've never come across this solution to chronic unemployment.


Wednesday, June 19, 2013

Women, work and wages

There's an interesting claim made by U.S. President Barack Obama recently:




It seems to be true, and nobody is disputing this, though there are many who take the trouble to explain the figure. They take a number of different approaches, but all of them seem to follow roughly this explanation given by economist Gary Burtless:

"Women have shorter job tenures than men because they have more work interruptions than men, usually because they have children and assume heavy responsibility for rearing those children," Burtless said.
 Worth noting as an aside that Burtless says that it is women who have children, ignoring the fact that they can't do this without at least some input by men. But there is a grain of truth here: a women's greatest productive capacity, her most important and indispensable contribution to society, lies in her ability to bear and raise children. This is a capacity that is not rewarded in the market place. A woman can spend her entire productive life raising a brood of children without receiving a cent in wages.

Now, when a woman wants to receive wages, she goes to the job market and sells her labour, typically at 77 cents to a man's dollar. Why is her labour discounted? As Burtless says, it's because of the responsibilities in fulfilling her role as a child bearer/rearer. At home, she receives no wages. In the market place her greatest productive asset is transformed into her greatest liability in gaining equality with men.

She's double screwed is one way to look at it. Or is it triple screwed? Twice figuratively, once literally.

Thursday, May 30, 2013

A Visit to Luduke

What is the appropriate response when you encounter an error on radio or TV? Some weeks back listening to an interview with historian Michael Burleigh about the Vietnam war on BBC radio's Night Waves, I heard him say that the Chinese built a railway to Hanoi. This is incorrect. It was the French who built the railway, from Haiphong to Kunming, at the height of their empire in Southeast Asia a little more than a hundred years ago. It's a wonderful narrow gauge line that runs through some of my favourite parts of the world. I've travelled on it and through a good deal of the surrounding countryside.

So what is the most appropriate response? My reaction was to send an email to Michael Burleigh with information about the railway and the surrounding area that I'd learned during my travels. He may have read it, but I received nothing in return. While writing this email, I searched the internet for 'Luduke,' a tiny village in Yunnan that I have twice visited. The French had visited earlier, around the time they were building the railway, and had left behind a Catholic church, and memories in the villagers that remain today. I wrote about my first visit to Luduke and posted it years ago on the internet. My search revealed very little and it seems that my little travelogue has disappeared. My visit was only possible because of my curiousity and persistence. It seems a shame that historians or anyone else is not able to benefit from my efforts. I think the most appropriate response may be to revive this piece and post it again to give anyone interested in this part of China a chance to read my hard won account of a visit to Luduke.






I knew there was a church in the village. What I didn't know was whether or not it still had any meaning to the people who lived there. Decades of suppression may well have destroyed its influence. Once over the pass, we continued along the roughly cobbled trail into the valley and soon the village came into sight. As we approached, the tinkling of cow bells that had accompanied us faded and I had my answer. Clearer and clearer came the sound of singing from inside the church.

I first heard about the village, Luduke, from the curator of the Wenshan prefectural museum in Yunnan, China. A display of local hill tribe costumes had caught my eye. There were about thirty on show, and the curator told me that the display was just a small sample; the costume of each tribe varied slightly from village to village. As an example, he told me of Luduke, where several families of the Yi tribe live. Like the Yi in other parts of Yunnan, they wear a coat embroidered with many colours, and studded with silver buttons and coins. The clothing of the hill tribes reminds one of the days when they were the family's most valuable possession.

The interesting feature of the Luduke Yi clothing was the cross sewn onto the back of the coat. It reflected the influence of French Catholic missionaries who had once lived in the village. Luduke was not too far away, but getting there would involve a three-hour bus ride west from Wenshan followed by a three-hour walk along mountain paths. Most of the inhabitants of Luduke were not Yi, but Hmong, a people who live in some of the most remote valleys of Southeast Asia. I was told that the church still stood and in 1986 the prefectural government had designated it as a historical site. Catholic churches are not common in China, and churches in obscure villages are even rarer. I decided to pay them a visit.

The journey was tiring but uneventful. From Wenshan, a bus took me to Pingjiu. There I met local officials who introduced me to a farmer who could guide me to Luduke. His field of hot peppers waiting to be picked meant that his services wouldn't come cheaply. After some haggling we arrived at the amount of Y100 (US$12), a price four or five times higher than guides would demand at less busy times. We set off together and made our way over the hills. In the distance I heard the sound of blasting. The minerals that had brought the French to the area during the last century still lay under the mountains in quantities large enough to interest modern miners. These days though, the minerals are sent north to fuel China's industrial development. The French built rail link between Kunming, the provincial capital, and Hanoi today provides the French (and other tourists) only the chance to take in the beautiful scenery.

When I arrived in Luduke, I headed straight for the church and my guide returned to his peppers. The singing I'd heard was part of the schooling that the church provided during the day. Only forty families lived in the village and a government run primary school behind the church competed for students. Children could attend either or both of these schools and there can't be many Chinese villages so well endowed with educational institutions. Roman letters on the blackboard at the back of the room made me think that some sort of crazy English lesson was being taught until I realized that the language was Hmong. Interestingly, the teacher used the International Hmong script rather than the one promulgated by the Chinese government. This is undoubtably due to the fact that the bible and other religious works are published in Thailand in International Hmong and almost nothing is available in Chinese Hmong. Children were taught religion and the Hmong language. Selections of their homework, essays on Christian morals in Hmong and Chinese, were posted on the compound walls.

Villagers speak of a temporary church that stood until 1906 when it was replaced by the one that stands today. Many of the windows are broken and small plants sprouted from between the cracks in the blocks, but the structure still seemed sound. Inside was clean and the floor was smooth concrete. A dozen or so low benches and tables faced the altar, a high table decorated with a vase of plastic flowers and a candle stick. On the walls were Chinese posters of Jesus and Mary, and on the wall beyond the altar was a large red cross made of paper. A small booth served as the confessional. It was comfortable considering that in another church I had visited, the confessional was outside in a storage room and the faithful had to confess amongst piles of pumpkins. The steeple was eight metres high and was the tallest structure in the village. Of course in a place where the average income is Y200, there are no banks or commercial institutions to compete. The top of the steeple was empty, as the bell it once housed was confiscated by the government in 1963. Its whereabouts today is still a mystery. The church forms one side of the compound. At the back there is an office, private rooms, and a kitchen/dining room. Opposite the church is a storage room and the front of the compound is walled off with an ornate gate admitting entry. The courtyard in the centre is paved with stones and swept clean. Women drape their laundry to dry over the flowering bushes.

The teacher took me to the office where I met the village headman who was also responsible for the church. I signed a guest book and had my photograph taken. The only name that I recognized as foreign was that of a priest from Malaysia who had visited during the previous year. When I asked about documents left behind by the priests, I was shown a photograph of a young bearded French priest, Father Ma as he was known to the villagers, who had served the village for thirty years. His long black robe made him look like a wealthy Chinese merchant of the time as much as anything else. He died in 1940 and is one of two priests buried in Luduke. The first priest had come in the 1880s and a succession of six priests served the village until 1951 when the last was sent packing by the government. The village is still without a priest, but since 1980 when the ban on religious activity was lifted, a priest from Kunming comes once or twice a year to give communion, hear confessions, perform marriages and so on.

We had to go out and do some walking to see further evidence of the priests' work in the village. From the room where we talked, I could see a large gathering of children in the courtyard surreptitiously watching me. The population of Luduke and other villages in the area was either very young or very old. Everyone else had left the village to work for wages. Whenever I established eye contact with the children they'd quickly look away or move out of sight. But once they saw us get up to take a walk, they lead the way to tour the sights.

We walked along part of the five kilometres of path cobbled under the priests' supervision, past the wells that they had dug to a remote part of the valley where the two priests are buried. A tall stone cross stands over the mountain side gravesite overlooking the cornfields. A close examination reveals the repairs made after the cross was damaged by a Red Guard raiding party that visited the village. During the cultural revolution, anything deviating from the teachings of Chairman Mao was strictly banned and religious activity in the village had to be conducted at home in secret.

By the time we got back to the church, supper was ready. I was invited to join the headman and his family in the compound dining room. A prayer was said, I could recognize the Hmong words for "Maria" and "Amen", and we sat down to eat. Supper was a modest feast consisting of pork fat, pumpkins, some greens, and rice laced with corn kernels. Our meal reflected yet another aspect of the priests' efforts. Almost all the crops of Yunnan, corn, potatoes, pumpkins, and tobacco, were introduced from the West. The rice was a treat in honour of my visit. Poor soil and an altitude of two thousand metres meant that all rice had to be bought at the Pingjiu market and brought back to Luduke. Incidentally, on Fridays the villagers abstain from eating meat, following a custom now abandoned in the West.

After supper, we chatted in the courtyard and I quickly ran out of cigarettes. In China it is considered rude to smoke without offering to the other men present and I was the only one in the village rich enough to buy cigarettes. Just as the sun set, a bell was struck signalling that the evening service was about to begin. About thirty people showed up and as they entered the church they crossed themselves and genuflected before they sat, women on the left and men on the right. The teacher I had met when I arrived sat in front and lead the congregation in prayer, reading by the light of a coal oil lamp. Everyone seemed to be wearing crucifixes around their necks and many carried flashlights in preparation for the walk home. Morning and evening prayer services had been held in the church every day since the lifting of the ban on religious activity.

One of the men I had been speaking to before the service beckoned me to go outside. He'd arranged one of the women of the Yi nationality to dress in her finest clothing for me to see. Her back did indeed have the cross on it, even though the ten Yi families of the village no longer followed the Christian faith. I was told that they had worn this design since the priests came and continued to wear it right through the turmoil of the cultural revolution. The Hmong also wore a cross on their backs, but it was not so striking as that of the Yi. While I was in Wenshan I met a manganese dealer from Beijing and I told him about my plans to visit the church in Luduke and what little I knew of the place. He said it was inconceivable that the villagers would have been allowed to wear the cross during the cultural revolution. I can only assume that the Red Guards must have been blind to such subtle expressions of faith.

In a village without electricity, there is not much to do at night except sleep. With a feeling of trepidation, I went to the rat infested storage room that was to serve as my bedroom for the night. It wasn't the rats that worried me however. I brought along a Hmong phrasebook and leafing through it, noticed that the word for "lice" has two definitions in Hmong, one for head lice, and the other for body lice. I feared that the Hmong must be on very intimate terms with these parasites to honour them with their own distinct names. But the bedding was spotlessly new and I had a comfortable night's sleep.

In the morning, after a breakfast of noodle soup, I accompanied the headman back to Wenshan where he had some errands to take care of. On the way back I thought about the remarkable survival of the church. The building continues to stand, and in every sense is still the centre of the village. Isolated from the Catholic community, oppressed by the government and terrible poverty, the villagers had every excuse to abandon their religion. But they kept their faith and the church flourishes.

Thursday, May 23, 2013

Hollywood Vegans

Hmmm, vegan!

Have you ever seen a Hollywood movie where the police chief was not an ill-tempered black man? You probably have, but not recently. Have you ever seen a Hollywood movie where the vegan didn't prepare and serve inedible food and wasn't a fussy and fanatical hypocrite? You probably haven't, ever.

The stock character has been with us long before movies were made in Hollywood. Vegans, meanwhile, are a relatively recent addition to the scene. How did they get such an overwhelmingly bad reputation so thoroughly so quickly? They are fussy, it must be conceded, but I think the key to the question lies in their example making others confront habits and thoughts they'd prefer were left unquestioned. That is never a pleasant thing. Does the target audience of these films find some pleasure in putting these vegans in their place? A guilty conscience is quite capable of shooting a messenger. Especially a fussy messenger.

Vegans I've met have been thoughtful people and their food is tasty and nutritious. Their depiction in the world of film is false and undeserved. I suspect the Hollywood image is the result of laziness and willingness to pander to a complacent audience. Maybe even cave in to pressure from a wealthy and politically active meat industry. My advice? Speak out against these negative characterizations and don't let these stereotypes take root.


Sunday, May 19, 2013

More Fiction of the 21st Century

I've been writing for the past month or so about some authors of the new century that I've discovered. Only four names have emerged which I can recommend without reservation. There are other books though that I've come across that stand out and merit a mention. I can refer here to actual books specifically rather than the author's work in general because having enjoyed these books I've gone on to read other novels by the author and I've found them disappointing or unremarkable, or found other reasons not to pursue the author's work.

I'll start out with Gary Shteyngart's Super Sad True Love Story. This is a dystopian science fiction story about an aging, lonely man, Lenny, a lover of books in a society where youth and celebrity is prized above all and the smell of an old paperback book is thought to be disgusting. America has become a police state and the Chinese are busy buying up anything of value. Can Lenny and Eunice find happiness in this world? Get ready for some super sadness.

I already quoted a selection of Alexander Theroux's Laura Warholic; or, The Sexual Intellectual in a previous posting not long ago. As I think I mentioned, it's little more than a series of rants on a large and sometimes surprisingly diverse series of topics. Eventually, it gets exhausting though in parts it is fresh, informative and fun. If I ever come across any of Theroux's other novels, I'd be happy to give them a look, but his work is relatively obscure.

Jonathan Strange & Mr Norrell, Susanna Clarke's first novel is a fantasy about witchcraft and witches in early 19th century England. Fantasy is not something I typically read, and I doubt I'll be on the look out for Clarke's next work, but the author is a highly accomplished writer and has given us something which surpasses Tolkien (and that's not saying a lot) in imagination and story telling. Those who have a higher tolerance for fantasy should find this novel immensely enjoyable.

Finally, I should add a couple more novels that are notable for their mixing of fact and fiction. 2003 Nobel laureate J.M. Coetzee's Elizabeth Costello is one, and Ian McEwan's Solar is the other. Both mix fiction with polemics: thoughtful meditations on animal rights in the former, and energy in the latter. I will probably get around to reading more of both these authors eventually, but I'm in no hurry. There's still lots to be read of the previous century as well as novels of this century by novelists I've long been familiar with. Right now, with my exploration of new novelists of the 21st century at a close, I'm returning to new works by old favourites. I'm a good way into Murakami Haruki's 1Q84. Too early yet for a definitive recommendation, but at just over 200 pages into an 1,100 page book, I'm giving 1Q84 a provisional thumbs up.

Tuesday, May 14, 2013

David Mitchell

David Mitchell may be famous these days as author of Cloud Atlas, the expensive Hollywood spectacle released last year. I thought Cloud Atlas (the book) was a fine piece of fiction. Good enough for me to go on to read his latest novel, The Thousand Autumns of Jacob de Zoet.

Cloud Atlas is composed of 6 very loosely interlocking stories set between the 19th century and some point in the Star Trekish future. Each story gets some 50 pages devoted to it, is then abruptly cut off and the next story is taken up. Once this is finished we cycle back in much the same format and the stories are concluded. It's an ambitious work and Mitchell is able to pull it off. There is a convincing feel for setting, detail, character and dialogue. It was much more absorbing than the disappointing movie version - television pacing, attention deficit disorder editing, full of explosions and car chases.

While Cloud Atlas was half historical fiction and half science fiction, The Thousand Autumns of Jacob de Zoet is wholly historical. It's set entirely in and around Nagasaki, Japan about the year 1800, when the Dutch maintained a trading post there, and the aristocracy of Japan were beginning to question the old regime and push for modernization. The hero, Jacob de Zoet, is a young clerk sent by the Dutch East India Company to Dejima. He spends several decades there, becoming entwined in various intrigues. Again, Mitchell shows great ability in depicting the times and place. I'm not a fan of historical fiction, but it is clear that Mitchell has done his homework. I lived in Edo Machi, Nagasaki, just across the river from the one time artificial island, Dejima, which during the period of the novel was Japan's sole outlet to the larger world. I know the town and history well, and Mitchell has done them justice.

I'm not sure that I'll be looking forward to Mitchell's next work. but what I read of his did stand out among the dozens of other novels I looked at as polished and compelling pieces of fiction. It may not last, but it will do for now. Here's a short excerpt from The Thousand Autumns of Jacob de Zoet:

There is a wide square of sand and grit, deserted but for a few soldiers. This plaza is named, van Cleef told him, Edo Square to remind the independent Nagasaki populace where the true power lies. On one side is the Shogunal Keep: ramped stones, high walls and steps. Through another set of gates, the retinue is submersed in a shaded thoroughfare. Hawkers cry, beggars implore, tinkers clang pans, ten thousand wooden clogs knock against flagstones. Their own guards yell, ordering the townspeople aside. Jacob tries to capture every fleeting impression for letters to Anna, and to his sister, Geertje, and his uncle. Through the palanquin's grille, he smalls steamed rice, sewage, incense, lemons, sawdust, yeast and rotting seaweed. He glimpses gnarled old women, pocked monks, married girls with blackened teeth. Would that I had a sketchbook, the foreigner thinks, and three days ashore to fill it. Children on a mud wall make owl-eyes with their forefingers and thumbs, chanting 'Oranda-me, Oranda-me, Oranda-me': Jacob realizes they are impersonating 'round' European eyes and remembers a string of urchins following a Chinaman in London. The urchins pulled their eyes into narrow slants and sang, 'Chinese, Siamese, if you please, Japanese.'