Sunday, November 11, 2007

Can you spot the odd man out?

This sample box of cereal showed up with our daily newspaper the other day. Maybe someone should've spent a bit more time in the photo editor, because one of these things is not like the others.



UPDATE: I've been told that this image is used on lots of Curves packaging, and on other printings it's more obvious that she's wearing another shirt underneath. It looked awfully suspicious on the box I had. *shrug*

Saturday, July 21, 2007

HP7: Beautiful

Harry Potter and the Deathly Hallows is a beautiful book. Once in the past I began commenting on a book in IRC immediately after finishing it, and I later regretted my haste. In the future I'll probably become more critical of this book, as well. But I announce right now that I believe it is beautiful work.*

Pullman, eat your heart out. The hollow hope that motivates your work can never bring satisfaction to your readers the way that works by J.K. Rowling, C.S. Lewis, and J.R.R. Tolkien have done, and will continue to do throughout coming decades. The conventions and types upon which they rely work because they strike a chord of truth that resonates in the soul. As long as you keep playing your same shrill song, you'll just have to get louder and worse to continue to get attention...and you were already embarrassingly shrill in The Amber Spyglass.

John Granger, POMPOUS STYLE NOTWITHSTANDING, got the most important stuff right, writing way back in 2002. Good for him.

* This is to be taken in complete separation from my previous post containing predictions about HP7. As I acknowledged there, Rowling had much better ideas than I was willing to imagine she might.

Wednesday, June 27, 2007

Prediction: Harry Won't Make It

I, like almost every other Harry Potter fan, have been wondering for years whether Harry will be alive at the end of book 7. Until last week*, I was still wondering.

At this point, I'm convinced that he won't be; I'll be disappointed if he is, actually.

I'm sure Rowling's got loads of much better ideas than I have, but I won't be surprised if Harry dies in part because he's saving the life of Draco Malfoy or Severus Snape. Or perhaps Snape will sacrafice himself to save Harry**, and Harry will die defeating Voldemort and simultaneously resucing Draco.

Of course, there is this enormous question of who else has been collecting Horcruxes, and I haven't the slightest idea how that character may fit into all this.

That's all. I expect I'm the 37,253rd blogger to make this prediction.

* Yes, Joe, our conversation was the turning point.
** I'll be surprised if Snape is actually evil; it will just be too delicious if he's good.

Tuesday, June 05, 2007

Technology in Education: The Bad (rant warning)

I am increasingly of the opinion that having any classes whatsoever on "applications" is definitely the wrong approach. The proper [and advanced] use of applications is something that should be built into the rest of the curriculum; learning "how to use applications" when there is no purpose at hand is boring and useless, and quickly forgotten. Instead (for example), math classes should use advanced spreadsheet graphing and statistics, English classes should use the word processor and presentation tools, Industrial Arts/Vocational/Career & Tech. Ed./New PC Buzzword classes should use CAD programs, and so on and so forth. (Note that I deliberately did not name "PowerPoint", "OpenOffice", etc. As much as possible, education should be product-agnostic.) However, there is still room for a technology curriculum, and the content of that curriculum should be actual technology concepts, not technology usage. That is, programming, data management, systems administration, etc.

Am I open to changing this opinion? It is constantly changing, and I don't pretend to have all the answers, or the definitive answer. I've never studied a single bit of curriculum design. So I openly admit that I may be wrong, or at the very least that I may overestimate what is possible in real-world classrooms with real-world teachers and real-world students. But:

  • I went through high school in the mid-late 90s (so I've been a student under a curriculum like those I'm criticizing).

  • I obtained a B.S. in Computer Science after that (so I'm a user and a programmer).

  • I have worked as a software engineer and I still write code for a living (so I know what the marketplace is actually like, and what aspects of technology education pay off in the real world).

  • I now work for a school district, and my wife is a teacher (so I've been in and witnessed classes like those I'm criticising, I talk with quite a few teachers and technical folks who work in educational environments, and I've seen very exciting alternatives to what most schools are spoon-feeding today's kids).


I simply can't help but point out what I believe are serious problems in the approach that is so often currently taken, and point toward what I believe is a vastly superior pedagogy of technology. This is intended to be the first of a three-part series of posts on this topic.

Problems with Current Practices in Technology Instruction

Note: I'm going to speak in very general terms, but of course I realize that most technology teachers don't fit this mold precisely, and I expect that many could do a much better job than I of stating these and other criticisms. Also, note that I'm focused on K-12, though similar ideas apply to other age groups.

Here are some characteristics that typify an impoverished approach to teaching technology:

  1. Class or assignment titles such as "Business Applications", "Office Applications", "Word Processing", "Desktop Publishing"

  2. Class or assignment titles with company, product, or project names: Microsoft, Macromedia, Inspiration, Autocad, Power Point, Excel, Shockwave, OpenOffice, GIMP, etc.

  3. Predominance of classroom instructions concerning mouse movement ("OK, everybody, click on 'File', then click 'New'..."

  4. Assignments such as "Write a pretend diary entry"

  5. Assignments such as "Pretend you're on a vacation with your family, and create a postcard to send home to Grandma."

  6. Programming classes such as "Intro to Visual Basic"



Here are some problems with the above approach:

  1. Companies and products go away, and the ones that don't, change. If you think it's important to teach kids how to use the dominant products in the marketplace today, think about how valuable it was to teach kids Word Perfect, or Windows 3.1. Obviously schools will use many software products and projects that are currently dominant, but their dominance should never be the reason for using them (quality and cost to the taxpayers are vastly more important considerations), and nothing specific to a particular version of a product/project should ever be the focus of what is taught. Kids should learn how to teach themselves how to use software, because spoon-feeding them now does them a disservice when the real world will expect them to be dynamic self-teachers.

  2. In the above examples technology is taught and used only in an aimless sense that needlessly heightens disinterest. Rote usage of applications is boring. Pretending, when the pretense is uninteresting, is boring. These examples show a lack of creativity on the part of the instructor, and that lack of creativity extinguishes whatever spark of initiative the students may have. But worse than this, the end goal of these assignments is nothing. Who cares about a pretend diary entry? Who cares about a fake postcard from a pretend vacation? One might care about them in English class, but when the students know the object is to learn to use the software there is no motivation to care about the writing, which is the only possibly interesting part.

  3. Many kids already know the basics of computer usage...it's the teachers who need classes in computer basics. So much of what passes for technology curriculum today reflects not the needs of students, but the limitations of their teachers. Even most of the kids who don't know the basics don't need the plodding approach that teaches Microsoft Word one semester, and Microsoft PowerPoint the next.

  4. Using expensive software in the classroom dampens the opportunities for interested kids to learn outside of class. There is so much Free Software available now that almost all but the most specialized software needs of K-12 classrooms can be met without spending taxpayer dollars, and without denying interested kids the Freedom to explore their interests further at home.

  5. I can't imagine a worse first programming language than Visual Basic. Well, I suppose it beats INTERCAL, but that's about it. Any programming environment focused primarily on producing GUIs starts new programmers definitively on the wrong foot. New programmers should be learning the concepts of structured programming and data structures, and the temptation to play with GUIs (and even working in a GUI environment, IMO) is solely a distraction from these core concepts that should be the focus. This isn't to say that writing good GUIs has no place in a HS curriculum...but the "introduction to programming" class isn't that place.

  6. Substantial portions of the above curriculum could be directed at monkeys almost as well as to children. Training is when you show people how to use a product. ("Today we're learning Microsoft Word. Click 'File', then 'New'...")

  7. A technology curriculum such as the above leaves the rest of the curriculum and the rest of the teachers unchallenged to integrate technology well. There already aren't general purpose "how to use a graphing calculator" classes, because the higher-level math courses include that. There aren't "how to use CAD software" classes because the classes where kids learn to use CAD software are focused on architecture and design. Including any classes in the curriculum that focus on software usage makes it easy for teachers of real subjects to avoid real integration.



Next: Characteristics that typify a rich approach to teaching technology

Monday, June 04, 2007

Ubuntu Network Installs made easy

The following high-level instructions allow you to PXE boot and install Ubuntu just as if you had a CD in the drive.

  1. Install an NFS server and a TFTP server on a system on your network.

  2. Download the ISO you want to boot over your network.

  3. Mount the ISO and copy all the files to the NFS server, and export the directory.

  4. Copy the contents of install/netboot from the CD into the tftpboot directory on your TFTP server.

  5. Copy vmlinuz and initrd.gz from the CD (you may have to search for them, they're usually in /install or /casper) into the tftpboot directory; rename them to be something unique if you will have more than one version in the directory.

  6. Edit pxelinux.cfg/default to point one of the LABEL entries to your kernel and initrd, with the following options to tell casper to mount / via NFS -- your entry should look a lot like these three lines:

    LABEL edubuntu
    kernel vmlinuz-edubuntu-iso
    append vga=normal initrd=initrd-edubuntu-iso boot=casper netboot=nfs nfsroot=10.20.1.2:/opt/ltsp/edudesktop-iso --

    nfsroot points to your NFS server and the path to the directory where you copied all the contents of the CD.

  7. Set the following options in dhcpd.conf on your DHCP server:

    next-server 10.20.1.2; # this is your TFTP server
    filename "pxelinux.0"; # put this in verbatim


  8. Profit!



man casper for more information about casper, which is what makes this so easy.

Update: This is more fully explained in the Ubuntu community documentation.

Saturday, April 21, 2007

Thursday, April 12, 2007

JCS in MA

Just got back from seeing Jesus Christ Superstar on-stage in Lowell, MA. This is the second time I've seen it live; the first time I ever saw it was in the summer of 1996 in the St. Louis Muny. In between, I've seen the movie a couple of times and listened to the Original London Concept Recording (highly recommended) an uncounted number of times.

I never liked Neeley as Jesus in the movie; I thought his vocal performance was weak and nasal (in contrast to Gillan's in the concept recording), and I thought he was relatively uninteresting to watch -- but tonight he redeemed himself in my eyes. His first number was unimpressive (I thought to myself "Oh no! Am I going to spend all evening waiting for Judas to sing again?"), but the destruction of the temple and the Gesthemane sequence were wonderful; I could listen to them instead of the concept album and be satisifed, which is not true of the sound of any part of Jewison's film.

Judas' (Corey Glover) performance was fantastic throughout, but his volume range was unmatched by the sound system. The quietest parts were consistently overpowered by the orchestra, and this deleteriously affected the title number "Superstar", which I was greatly anticipating. Also, I remember a strong bass part driving this song in both the concept album and the film, and tonight I realized how much that lends to the piece since I couldn't hear the bass at all during that song. Judas was a pleasure to behold, nonetheless.

Mary Magdelene (Tiffini Dodson) was also very good, with a strong, affectionate, and conflicted performance. I preferred tonight's more conventional vocal approach to the slidey performances (I'm sure there's a technical term for this) of the concept album and film.

Herod's number, the only opportunity for comedy in the entire musical, was well done, and they took good advantage of it. I prefer the concept album's circus rendition of the instrumental part to the salsa-fied version I heard tonight, but the tone was right, the chorous of dancing girls was great, and Herod was as pompous as possible. Delicious.

I loved the lighting for the crucifixion scene; with only side lights the matte black cross disappeared and only Jesus was left, suspended cruciform above the stage.

Now for a tangent: There were a couple moments when I couldn't help weeping, and I can't really explain why. In fact, I can't even remember when they were. Every so often a particular piece of music will grab hold of me, and for a time it's able to effect in me such a profound response that I cry. Once upon a time, believe it or not, Hedwig's Theme from the first Harry Potter soundtrack could do this. (I still enjoy the piece, but it no longer evokes such a response from me.) The bottle dance in Jewison's Fiddler on the Roof does it every time (whether I'm just listening or also watching), as does the moment when Tradition wins out over Tevye's love for Chava, and as does the intercultural tavern dancing scene during "To Life!". I think it's some shifting combination of grief and joy about beauty and tragedy that brings these tears to the surface, but it's difficult to pin down in description.

I highly recommend (again) the Original London Concept Recording. Buy it and listen to it.

Jewison's movie is worth watching, but the only real highlight for me is "Simon Zealotes", which I have watched several times all by itself. The choreography and direction complement joyous performances (in the midst of which, I must add, Neeley stands to no great affect).

Overall, tonight's performance was a very satisfying experience, right up there close to seeing The Producers on stage in Boston in 2005. If you get a chance to see Ted Neeley's Jesus on a stage near you, I recommend it.

Sunday, March 18, 2007

Think Like a Philippian

I preached in church today. I had never preached before. For various reasons, I decided to write the entire sermon out word for word and read it. So if you want, you can read it, too.

Thursday, February 22, 2007

MacBook + Ubuntu (Edgy)

Notes on getting my brand new (arrived from apple.com on Tuesday) MacBook working with Ubuntu (single boot -- I only want Linux!):

  1. Ubuntu Edgy Server disc was unusable, b/c the keyboard isn't available at the CD menu screen and there's no timeout.

  2. Ubuntu Edgy Desktop CD (32-bit i386) installation went without a hitch.

  3. mouseemu under Edgy freezes the trackpad until I stop the service again.

  4. pommed under Feisty works 50/50. The function keys started doing the things they're supposed to, but I wanted them to be F-keys by default, and only do special things when I hold dow the 'fn' key. I couldn't make this happen.

  5. I was unable to get right/middle clicking to work until I installed xkbset and put the following in my .bash_profile:


    • xmodmap -e 'keycode 116 = Pointer_Button2'
      xmodmap -e 'keycode 108 = Pointer_Button3'
      xkbset m


    I can middle-click by holding down the right Apple key, clicking, and releasing the Apple key.

    The little "enter" key next to the arrow keys is a right-click.

  6. I installed mpd and mpc and sound is working fine, except that after a while I noticed:

    1. I'm only hearing the right channel of stereo sound through the internal speakers. It's playing only the right channel, through both speakers, as if it's mono.

    2. The internal speakers keep playing even when headphones are plugged in, as other people have experienced while running Windows on Intel-Mac hardware. *BIG FROWNY FACE* This is very annoying. I'm shopping for USB sound devices now (anticipating that there won't be a fix soon enough to suit me) and I'd really rather not be.

    Update: I just bought a USB Sound device that looks just like this one (different color plastic) for $15 from my local PC shop, and it came right up. Here's what showed up in syslog:

    Feb 23 14:28:14 kant kernel: [17239422.824000] usb 2-1: USB disconnect, address 2
    Feb 23 14:28:28 kant kernel: [17239436.988000] usb 2-1: new full speed USB device using uhci_hcd and address 3
    Feb 23 14:28:29 kant kernel: [17239437.144000] usb 2-1: configuration #1 chosen from 1 choice
    Feb 23 14:28:29 kant kernel: [17239437.228000] input: C-Media USB Headphone Set as /class/input/input20
    Feb 23 14:28:29 kant kernel: [17239437.228000] input: USB HID v1.00 Device [C-Media USB Headphone Set ] on usb-0000:00:1d.1-1
    Feb 23 14:28:55 kant kernel: [17239463.224000] usb 2-1: USB disconnect, address 3
    Feb 23 14:29:11 kant kernel: [17239479.864000] usb 2-1: new full speed USB device using uhci_hcd and address 4
    Feb 23 14:29:12 kant kernel: [17239480.024000] usb 2-1: configuration #1 chosen from 1 choice
    Feb 23 14:29:12 kant kernel: [17239480.108000] input: C-Media USB Headphone Set as /class/input/input21
    Feb 23 14:29:12 kant kernel: [17239480.108000] input: USB HID v1.00 Device [C-Media USB Headphone Set ] on usb-0000:00:1d.1-1


    I added an /etc/asound.conf file:
    kant ~ # cat /etc/asound.conf 
    pcm.!default {
    type hw
    card 1
    }

    ctl.!default {
    type hw
    card 1
    }

    ...and I modified my /etc/mpd.conf (this is only for people who use mpd instead of, say, xmms, or totem, or whatever) to have the following alsa output
    configuration:
    # use this if you want to use ALSA audio output
    audio_output {
    type "alsa"
    name "my ALSA device"
    device "hw:1,0" # optional
    format "44100:16:2" #optional
    }

    I couldn't be happier with a $15 usb sound card purchased at the last minute before a trip overseas. :)

  7. The madwifi drivers were insufficient (no wlan0 showed up in iwconfig output), so I eventually resorted to ndiswrapper, which has been working fine. (See further discussion here.) Note: I just installed ndiswrapper-utils-1.8, grabbed the D-Link driver, did ndiswrapper -i net5416.inf; modprobe ndiswrapper; echo ndiswrapper >> /etc/modules, and iwconfig listed wlan0 and I was good to go.

  8. Suspend failed to come back up with the backlight. I had to CTRL+ALT+F1 out of X, log in, and restart, without seeing what I was doing. :) (I don't have networking configured to start automatically, so I couldn't ssh into the system to restart it.)

  9. I am, as I type (on my desktop workstation) testing hibernation...(*BONNNNNGGGGGGG*, says the MacBook)...and we're booted successfully! Hibernation looks like a go.

  10. I haven't messed with iSight yet, but I've read that it doesn't work. I've got a copy of the MacOSX /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport file that desrt mentions here, so I expect to be able to get it working whenever I get around to it.

  11. Oh, yeah. CD ejection...I don't have that yet b/c pommed isn't available in Edgy. But just now, I added the following to my .bash_profile:

    xmodmap -e 'keycode 204 = F13'

    and the following to my ion2 configuration (yes, I know...I haven't even upgraded to ion3):

    kpress("F13", make_exec_fn("eject /dev/hda"))

    ...and now the CD eject key works as expected. :) (Use 'xev' to figure out keycodes, btw.)

  12. I also have the following in my .bash_profile to make the left Apple into "Alt" and the "alt/option" key into a "Windows" (Super_L) key. I haven't yet gotten this to work with my normal ion2 bindings to manage mpc (music player), but someday I will...

    xmodmap -e 'keycode 115 = Alt_L Meta_L'
    xmodmap -e 'clear mod1'
    xmodmap -e 'add mod1 = Alt_L Meta_L'
    xmodmap -e 'keycode 64 = Super_L'
    xmodmap -e 'clear mod4'
    xmodmap -e 'add mod4 = Super_L'


  13. The resolution comes up as 1024x768, but installing 915resolution and restarting X (or the whole system) gets me 1280x800 pixels.

  14. Resources:

    1. Google :)

    2. desrt's "Ubuntu Edgy on the Apple Macbook" page

    3. Debian Wiki MacBook page (I didn't use it, but I wish I'd found it earlier)



Monday, January 01, 2007

Keeping one foot always in the air

I'm renaming my blog from "Rare Thoughts: One Every Few Months" to "Keeping one foot always in the air".

Speaking of feet in the air, my wife and I flew home from Lincoln, NE through Detroit on Saturday. The parts while we were in the air were fine, but the parts while we were on the ground were less so. We were delayed for two hours as we waited for our plane to arrive in Lincoln, and since most of us were going to miss our connections in Detroit anyway, the NWA folks offered hotel vouchers to anybody who wanted to wait for a later flight. Since they promised hotel accomodations in Detroit, most of the 30-40 passengers elected to get to Detroit instead of waiting...but after we got to Detroit (and sat on the tarmac for 30+ minutes while additional people missed connecting flights), the word from the woman at the gate was "Sorry, this is weather-related, so NO HOTEL FOR YOU!". This was 9:15 pm local time.

Approximately 30-40 passengers were quite irate.

According to this keeper of the gate there were no available cusomter service representatives or managers, and there was nothing she could do beyond printing 10% discount coupons for area hotels. No apology, no empathy, not even any detectable sympathy. She didn't care a whit that we'd all been promised Detroit hotel vouchers by NWA in Lincoln, or even that we could all have stayed in free hotels in Lincoln if we'd so chosen.

The five most stubborn of us sat waiting by the gate until the next flight went out in hopes that something more could be done, and then we had the idea of calling the Lincoln airport. A fine gentleman named Jason answered at the NWA desk there, and he promised to get his manager to call the Detroit NWA folks right away to straighten things out. In the meantime, the gatekeeper put on her hat and coat, and without a word to the five of us sitting there in hopes of hotel vouchers, she took off down the concourse toward her own warm bed. The time was 11:45 pm.

We chased her down and told her about the expected phone call, and only then did she have the brain-wave to mention that we could go to the NWA ticketing counter, where the phone call would come in. We found the ticket counter closed, but the NWA luggage claim and customer service desk had a line with 40 people and at least five polite, apologetic, empathizing, sympathizing NWA customer service people. We got to the front of the line and explained that our plane was two hours late in arriving in Lincoln, and a very nice woman named Karen immediately printed hotel vouchers and meal vouchers and provided each of us with a small toiletries kit for the night.

I'm not sure whether to chalk the gate-keeper's behavior up to ignorance or malice...but surely anybody would think of the customer service desk before telling 40 people there were no customer service representatives available. That eliminates ignorance and leaves malice, which I hope this gate-keeper left behind in 2006.