Saturday, December 4, 2010

Retrocomputing for the Holidays

What could be better than an old computer under the Christmas tree? It's a fun, inexpensive gift. There's always something old under out Christmas tree. Among the larger items have been the Commodore 64 that I gave my daughters as their first computer ten years ago. It included a monitor and floppy drive, of course, and copies of the user's manual and programmer's guide.

They'd both already started programming in BASIC on my Apple IIe during the prior year. So they were ready for the C-64! I got myself a Softcard for my Apple IIe that same year.

Two years later, I added a Plus/4, since they were frustrated with the lack of direct graphics commands on the C-64. Peek and poke wasn't good enough. ;) That same year some friends gave me their Laser 128 (Apple IIc clone.)

Christmas Cheer with PA-RISC

Another two years pass, and they both got an HP9000/700 series Unix workstation. They spent Christmas break learning Bourne shell and playing with Neko under X-Windows. Yeah, these weren't 8-bitters, but they were fun old systems that ran plenty of network apps. I had a MUD on my Unix workstation, and they learned how to telnet in and play pretty quickly. Their typing improved dramatically.

I picked up an Amiga 500 and that became the family's Christmas present the next year. We hooked it up to our 36" TV and played music, games, and a bunch of demos.

The year after that, a friend gave me a Bigboard I system. CP/M, 64K, and two big 8" floppy drives. Wordstar and BASIC-80 heaven. Everyone gathered around to roast chestnuts over the power supply and listen to the disk drives churn. ;)


Sure, it's got iTunes. Does it do X-Windows?
That same year, my daughters got upgraded to Macs, G3 B&Ws. They were excited about getting a computer that would run iTunes, but first they made sure that all their Unix stuff would run as well. Once they were sure they weren't giving up the Unix command line and could port their applications, THEN they were OK with the upgrade.

Three years ago, I did some repairs to a Kaypro 4 to get it working again. Unfortunately I haven't figured out how to read and write standard diskettes with it yet. It's a souped-up unit, with an aftermarket ROM, hard disk, and floppy drives that include both double and high density units. It got set on the back burner in favor of some other projects, once they're finished I'll get back to determining if I've got all the right software to go with the ROM that's in the system.

Visiting Old Friends

Two years ago, I actually avoided adding any new hardware for the year. Instead, I spent time during the holidays pulling out several of the systems I have that have been a bit neglected and giving them some TLC then playing with them. The Apple IIe, my own C-64, another Plus/4, and the Big Board.

Last year was the year of hardware projects. I had a new 8085 computer on a breadboard (see the story at http://saundby.com/), and was preparing to move it to soldered circuit cards. I was also migrating my Ampro Little Board (a Z-80 system) from loose components on the table top to living in a box like a proper computer.

Bringing Up the Ampro Little Board

Catching Up for Christmas

This year I'm working to finish the non-breadboarded version of my 8085 and building up a Membership Card (1802-based computer, similar to a COSMAC Elf from 1976 but a lot smaller) in a decorative little Victorian-style case. I'll be posting that on my web page at saundby.com soon, I expect.

I'm keeping my eyes peeled for a Commodore 128 at the thrift stores, too. That'd really round out this Christmas year.

What's on Your List?
What retrocomputer experiences have you had for Christmases past, and what are you hoping for under the tree this year that's hopelessly "out of date"? :)

Wednesday, October 20, 2010

Repairing the "Unrepairable" Microscope

The school I teach at has a small number of microscopes used by our science classes. I also use them once a year for a lesson where I bring in a bunch of microcircuits made visible to let my students see what's on a chip directly. I also bring in a wafer and some dice (the microcircuit variety, not the Yahtzee variety) for the kids to see and handle.

The exhibits themselves range from a 1959 transistor with the top of the can cut off to reveal the chip and a 1965 dual op-amp similarly prepared to a 1st generation microprocessor to late 80's memory circuits. All together I have about six to eight things I can put under the microscopes that would be interesting to look at.

Since I've been with the school, one of the microscopes has had a label on it reading "Broken, Save for Parts" on it. Since there are only six microscopes, including this one, it means I have to spend time in class changing over each scope from one object to another. Fortunately I've gotten good at talking while focusing a scope and shifting the light and indicator around to the best position. But it would be awfully nice to have at least one more scope. Recently another of the scopes got damaged, reducing us to only four scopes. This is really too few, especially for our science classes.

I Can Fix That

Our science teacher found out I work on optics (I build telescopes as a hobby, in addition to my work with sensor systems professionally.) She asked if I'd be willing to take a look at our newly broken scope. I agreed, and suggested that I might take a look at the "parts only" scope as well, since neither of us knew what was wrong with it.

The office staff let us know that the other scope had been declared "unrepairable" by a scientific instrument repair service that had looked at it several years ago.

When I took a look at the "unrepairable" scope, the optics appeared to be in perfectly good condition. The adjustments and controls were likewise all in good condition. All I found was that the light built into the base did not turn on. I had a light handy, for my own scopes I prefer a light that isn't built into the base, that way I can just grab another light if one of the bulbs burns out when I'm in the middle of a job. More than half the time I'm looking at something opaque anyway, and when I do look at translucent samples I use a mirror as often as I use a lamp for a backlight.

I opened the base to the "unrepairable" scope, wondering what would prevent the light from being fixed. Perhaps a small fire from a prior fixture?

Since When Is A Bulb Replacement "Unrepairable"?

When I got inside there was nothing worse than an empty light socket. The previous light had burned out, been removed, and not been replaced. I could see why, in part. It was an odd sort of bulb. The base style is the same as that for an automotive type "1004" bulb. It's a bayonet mount with two contacts at the tip of the base rather than the usual one. The designation is BA15D. It's an unusual type of bulb, especially for 120V. They run from about $5 to $35 depending on how specialized your supplier is. But they're not unavailable, by any means.

Still, they're hard to come by for people used to picking up light bulbs at hardware and grocery stores, so I decided to replace the base with a more common screw base. A standard medium size screw base, as used on most incandescent lamps around the home, would be too large to fit in the microscope's base. A small "candelabra" base would fit handily, but I wanted to make sure it'd be easy to get lamps in the right range of brightness. Candelabra base bulbs of up to about 15W are easy to come by in a size that would fit. But above that they tend to be the larger "flame" shaped bulbs in the 25 to 40W range, which wouldn't fit properly.

So it came down to an "intermediate" size screw base. Bulbs for these are common at hardware stores and such, as "high intensity" lamp bulbs (in 40W), and as lamps for vacuum cleaners, appliances, and such. 20W to 40W are common.

You Can Get the Bulb, But Not Its Base

Now the problem was finding such a base. I checked several hardware stores and lighting stores, with no luck. They all sold bulbs to fit an intermediate base, but no actual lamp bases in that size. I checked Radio Shack, just on the off chance, and my prejudices about their current parts stocking were confirmed. I even considered using the halogen lamps with the loop and straight leads on them. While the lamps are readily available, once again the bases are not.

I went to several stores and looked at cheap lamps, looking for one I could cannibalize without paying too much for the privilege. No luck, the LED lamp rules there, and none were suitable for a microscope. Neither the light pattern nor the size would work.

Finally I tried yet another hardware store while I was in another nearby town. I was ready to give up on intermediate size and go with candelabra, and hope to find a 20 or 25W bulb to fit. They had a single bulb wired fixture with a candelabra screw base. It looked perfect. The fellow minding the shop floor mentioned a lighting store nearby that I hadn't been to, as well. So I bought the candelabra fixture, a 15W bulb that would fit it, and headed over to the other store.

There they had lamp components in parts drawers, a very promising sign! I found several different types of base, but all in candelabra or medium size. One of the workers there helped me look, but we didn't turn up an intermediate base. We did turn up an adapter to go from a candelabra base to an intermediate base, though. I got that and a 25W bulb to fit, then went home with the lot.

Once home, I test fit the new fixture in the base with duct tape. I pulled out a selection of slides, and selected one with a nice thick feather sample on it to test the light level. I started with the 15W bulb and a thick section of the feather. The 15W bulb illuminated it, but not as well as I would like for students. Student's eyes aren't trained to pick out details yet. They need things well illuminated to help them see what they're supposed to see.

Putting It Together

I put in the adapter and the 25W bulb. That worked perfectly. Bright enough, without being too bright, even with a bacterial sample on a slide. In fact, the bulb aligned with the reflector in the base better with the intermediate base adapter. So I removed the old fixture from its bracket. Prepped the bracket and plastic welded the new base's fixture into place. I cut out the old fixture's wires, desoldered one end from the light switch, soldered and spliced the new fixture in. When it was all done, it looked like it was supposed to be that way. I tested everything to check for operation and safety afterward.

Then I added some labels to describe how to change the bulb to the outside of the case, and what bulb to use.

Now the "unrepairable" microscope not only works great, but can be maintained by an ordinary person without calling the "scientific instrument repair" service.

Monday, October 4, 2010

Back on World of Warcraft

While the rest of the world is playing Starcraft II and free MMORPGs, I've just returned to World of Warcraft. Not only my own account, but three others for my family. After a two year hiatus, why am I back?

No TV

For some time now I've not had a good activity for when I'm too fried for anything serious. We don't get broadcast TV here, and satellite isn't worth the price. 300+ channels and nothing really worth watching. Normal broadcast channels cost extra. Thanks to my Congress passing bills to "protect" me, I can't get national network feeds over satellite any more, as I did about 10 years ago. Then I could watch shows I wanted to watch on my schedule, rather than being beholden to the "local" stations (the satellite companies consider Sacramento local to me, even though I'm about midway between there and Reno.)


Radio Static

Listening to radio is something I usually do while working on something else, so it's not an activity that's engaging enough when I just want mindless entertainment.


DVD and VHS Overfamiliarity

If I hadn't already watched my favorite "watch them anytime" disks and tapes to death, I suppose I could do that. There's a lot of material in Connections I/II/III, Day the Universe Changed, The Learning Company's Astronomy course, and several others. But when I get to where I can lip sync with them, it's time to find something else to do.


WoW

WoW is more fun with a group. Pick up groups aren't fun, for me. So I looked at WoW's charges with an eye toward "how does this compare to satellite TV?" I came to the conclusion that it's reasonable to spring for four accounts for the family to get my own built-in group.


My Account

I got an account about the time WoW was generally released to the public. I had some "real life" friends to play with, as well as friends who'd moved over from Everquest for the Mac. My kids played on my account when I didn't. They'd hot-seat, or I'd give play time as a reward or inducement to do homework or chores or whatever.


The Kid's Accounts

Then, as the kids got older (teens), they wanted their own accounts. I gave the green light, provided they saved enough money for their own retail box and six months of service. They both did so, and they could keep playing so long as they paid for it. After some time, they both decided they'd rather spend the money on other things. We suspended their accounts, and they went back to playing on my account.


Leaving Azeroth

Meanwhile, my various friends either left WoW or I lost track of them in real life as well as in-game. I ended up on a new server in a small casual guild. But I was mostly playing solo, I was losing interest, and the guild was dissolving. The community on that server just never really gelled. I considered moving to another server, but various other things were keeping me from playing much, so I deactivated the account about 18 months ago.

Return to Azeroth

Now I'm back. I reactivated my account, and had my daughters reactivate theirs. This time it's on my dime, so long as they keep up with homework and housework. Plus I got a fourth account. It's for my wife, who never played before.


Non-Gamer

My wife was once a non-gamer. But over the last few years she's enjoyed joining games--due in large part to our daughters. She's played tabletop RPGs like Traveller and Pathfinder and enjoyed them. We also play a lot of board games like Cosmic Encounter, Quirks, and Settlers of Cataan. It's a big change. I couldn't get her to play games before the kids came along.

Now we've got her on WoW with us. We played for about 3 hours this last weekend and had a good time. It was challenging for my wife, she's not familiar with computer RPGs, but everyone was patient. We had her roll up a hunter since they're pretty easy to play and a forgiving class. She managed to learn the basic controls, get around most of the newbie zone without getting too terribly lost, and made level 8 in her first session. She professes to have had a really good time.


Time Filler

Meanwhile, I've got a fried-brain spare time activity. This afternoon my youngest got through her homework quickly and did several chores--unasked!--so that she could play and get a character to one of the special little seasonal activities in WoW before it goes away for another year. I'll still have time for my hobbies--WoW doesn't replace actual things like electronics and telescope making for me. But when I'm not up for those, I won't be casting around aimlessly as much.

We won't be able to coordinate family schedules well enough to play more than perhaps once a week all together, but that will be enough. We have other family activities we do as well, like reading, that take some of that time. Right now we're working our way through Watership Down. Only I have read it before. We read for about 45 minutes this weekend before we jumped on to WoW. If we manage as much as a couple of hours a week together on WoW, that' good enough for me to justify the accounts.

Thursday, September 30, 2010

An Update to the First Heavier Than Air Flying Machine

In July 1869, when Wilbur Wright was two years old, and Orville was as yet unborn, a heavier than air flying machine successfully flew two half-mile circles in a tethered flight test. The craft was known as the Avitor.

Lost in Time

The Avitor has been largely forgotten. It was what we'd call a hybrid vehicle today, very unlike the craft later flown by the Wright Brothers. The Avitor flew well and successfully, but an accident with a prototype resulted in its development being halted prematurely. If development had continued, it's very likely that modern aircraft would be very different from what they are today.

Many of the design concepts of the Avitor are being rediscovered and applied to new aircraft development. Among these are aerodynamic lift from the aircraft body (Blended Wing-Body aircraft, today) and hybrid lift (lift from a combination of buoyancy, power, and aerodynamics.)

The Past is the Future

The closest thing to a modern day Avitor is currently in development by Northrop Grumman. It's a vehicle they call the Long Endurance Multi-Intelligence Vehicle, or LERV. The name describes its use, something that can hang in the sky for long periods of time keeping an eye on things. The present program's goal is to develop a surveillance platform for use in Afghanistan. It is supposed to go there for operation testing within a year. First flight is to come this summer.

After a Brief 150 year Hiatus, the Return of Avitor?

There are other potential applications for this craft that Northrop intends to work toward. Perhaps by the Sesquicentennial of the Avitor's demonstration flight, we'll have our own 21st century Avitors roaming the skies.

Related Links:

Saturday, September 18, 2010

8085 Disaster! (well, a minor setback, but I'm not happy about it.)

I'm in the final stages of assembling the permanent hand-wired version of my 8085 project, and I've run into a problem.

3 Switches Become 1 Big Problem

There are three critical switch inputs to the 8085 on the front panel. They are the TRAP, RST5.5 and RST7.5 signals to the 8085. Essentially, each tells the 8085, "Stop what you're doing and do this instead."

It Worked Fine on the Test Bench!

When I built this project on solderless breadboard I didn't have any serious space limitations, so I did full "debouncing" on each switch, to prevent electrical noise caused by the switch from sending a whole bunch of "stop what you're doing!" messages all in a row when the user just presses the switch once.

On the soldered-up permanent version, I decided to save a little bit of space on the circuit board by trying to debounce on the cheap. A normal debounce circuit uses two inverters to clean up the electrical noise. I had a chip on the board that had six inverters in it, two of which were in use. That left me four inverters, for three signals. I needed six to do the job right.

Too Clever by Half

But, I had a "clever" idea. I thought I'd see if I could get by with a circuit that only uses one gate per signal. Not a full debounce, but a circuit called a "Schmitt Trigger." I built it up and tested it on the solderless breadboard.

It worked just great!

Then I built it up on the soldered board. It worked great there, too.

Then I went and bought some prettier switches to use on my new system's box. It worked pretty well. It seemed OK...

Then I did a test fit on the box with all the parts. I pressed my pretty new switches.

Disaster!

When I was pressing the new switches on a handheld box, rather than against a tabletop, I got a whole bunch of signals sent to the 8085 for each time I pressed the switch. The results were pretty ugly.

A Quick Fix is No Fix

I tried out some quick-fixes, as well as making sure all my connections were good. I'd hate to redesign and modify the circuit only to find out the problem was a loose connector all along. The connectors were tight, and the quick fixes helped a bit, but didn't fix the problem. The original (ugly) switches I used worked fine, but I tried a selection of switches in the circuit and most of them had the same problem when hand-held even when they didn't have any problems on the test bench. (I really did test the snot out of this when I first went with the shortcut. But I didn't get all the conditions right for a good enough test. Now I'm paying the price.)

I considered changing out the switches. But this would be a bit of a cop-out. I want to make this something someone else can build and enjoy without having to go through the tweaking and testing and all that I'm doing as I build it. I want others to be able to build it and just have it work, so long as all the bits are in the right places. I can't guarantee that everyone who decides to build it is going to get "clean" switches. So I have to go back and change the design to use real debounce. Then test that, under adverse conditions, like with a rusty knife switch.

One of the quick fixes I tried would probably have been good enough to work under most conditions with a software change that would have delayed any action on the switch input for a fraction of a second. I could have gone with that, and felt sorta pretty good about it. Except that there's a fairly likely condition that that wouldn't cover.

The Deadly Condition

If the user presses the switch, and holds it down for a bit before releasing it, there'll be a second switch event on the release. If someone has a habit of sort of "leaning on" the switches then this will occur to them fairly frequently, and probably ruin their experience using the computer.

I did say these switches are important--in the OS I use them for a warm reset, and vectoring to the user's program. The third one is left for the user in their own programs. But if those functions aren't reliable, it sorta hoses the whole affair. So it's time for me to do the right thing.

Test, Test, Retest, Pray and You Shall Receive

Tomorrow I expect to be protoboarding the correct circuit that I probably should have done in the first place. I'll test it, and if I'm not 100% convinced, I'll use a different sort of circuit, called a "one-shot" or monostable, and make darn well sure with belt and suspenders and a rope tied to a thick tree limb. I may try to avoid adding another IC to the board by using transistors for the last two inverters, or I may try to keep down the varieties of components I use by just dropping in another 4049 in addition to the one there now. On my other part choices I've opted to keep the number of different parts low by reusing the same chips over and over wherever possible.

I'm expecting to put in another 4049, even though it ties up more board space than I like. I might get creative about where I put it, but then again I may not.

Finally, Fitting It In

It's not like I don't have open board space. But I had plans for that space in the future. A memory bank select, another memory IC, and an RS-232 chip. I think the space saved for the RS-232 chip is going to get used. Besides, I may be able to fit in a little Dallas/Maxim chip in one of the odd corners later, or just "float" it on a daughterboard connected to the RS-232 connector.

After all, the core computer has to be working before I start worrying about expansions.

Wednesday, September 15, 2010

Cartooning Class: Drawn While You Watch

Today I'm preparing for the first substantive lesson this year in the cartooning class I teach. The first class, which was last week, is a get acquainted class, and I introduce the idea of drawing faces on circles as an activity. This week we start working on technique. I start with drawing eyes.

Each year, I'm tempted to bring in pre-printed sheets with examples of different artists' eyes on them. But each year, I end up discarding the idea, for the same reason. It'd be convenient to have specific examples from cartoons the kids recognize (and some they don't, yet) right in front of them as they work. Plus, even with my notes there's always something I miss covering (though I usually pick it up in review the following lesson.)

But I don't.

Watch the Cartoonist Draw, and Fumble

I think it's important, especially early in the class, to give the students confidence. Part of that is letting them watch me actually draw my examples on the board for the class. Aside from the fact that they get to see how I perform the strokes of the drawing, they also get to see my mistakes. They also get to see me hesitate as I prepare myself to shift from one style to another, and think through the details that define the new style (I do it verbally, so they can hear me think it through.)

I try to open up the process of drawing to them, so that they can be assured that it's not magic.

Some of them miss that point on the first pass. But I can point to the drawings on the board and ask questions like "did I get that one right the first time?" to make the point that I'm not perfect, even though I've been drawing these things since I was their age. I also tell them stories of how I learned these things the first time, and how pathetic my first attempts were. I often re-create these on the board or do them extra bad for a bit of humor.

The point, of course, is that the process itself isn't magic. But the results are. And the magic happens almost no matter what our skill level. We can scribble down a few lines on paper that have an emotional impact. At best, that impact hits the artist when they sit back and look at the drawing. But even when there's no impact there, it can hit others. So we pass our drawings around. There's nothing that does more for a worried student than to have a fellow student they barely know look at their drawing and say

"Whoa! That is so cool!"

Tuesday, September 14, 2010

8085 Computer Power Management

I'm in the final stages of hardware work on my 8085 computer project. Today I spent some time working on reducing how much power it uses.

8085 computer project during power use measurement and testing.
The MAG-85 still looks like a rats nest here. I pulled out a bunch of parts for today's testing. It'll go back together again even better.

With all peripherals turned on at full power, some of them at a higher level than would be normal or reasonable, the whole thing pulled 720mA at 5V. At full reasonable power levels, everything on, it came down to about 250mA. I put in current limiting to cap it at that level.

Then I went hunting for further power savings. The plan is to run this thing off of batteries in the not too distant future (I normally run it off an AC adapter now.) By seeing how little power I could feed to the LEDs in the system while still having them visible in bright light, I was able to cut overall power use down to about 160mA with everything on. It draws about 125mA with the LCD display on, the system running full bore, but no extra outputs pulling current. I can live with that.

What surprised me the most was that changing the CPU from an 8085AH microprocessor to an 80C85 (CMOS, low power version) didn't make any significant difference to the amount of power the system required. The LEDs accounted for almost all of the decrease from 720mA to 125mA.

8085 computer enclosure being sniffed by our cat.
The enclosure during inspection by Quality Control. The first attempt is on the left, the final version on the right.

I'm very close to closing this box up and calling it done. At least until I open it up for further upgrades. Upgrades like full 64K memory decode, an additional 8K of memory on board, and an RS-232 serial port. Later.

Thursday, September 9, 2010

Killing Time with Web Comics

School started this week, I've been busy with the preparations I've made for my classes as well as teaching them, on top of my regular work. I've been a bit low-key otherwise.

While I should be putting the finishing touches on my 8085 computer this afternoon, I've been reading funnies on the web instead.

The one I've been enjoying over the past few days I'm enjoying a lot. It's called Sheldon, and you'll be doing yourself a favor if you click on that link there. There are several years worth of archive up for the comic, so you can read it all from Strip One. I recommend doing it that way--it'll explain a lot that appears to make no sense otherwise.

I first learned of Sheldon through the book How to Make Webcomics. Sheldon's creator, Dave Kellett, is one of the book's authors. I got the book because I've been reading PVP for some years. and I got interested in the book. Among the things I cover in my computer classes is using the skills I teach in business, and I've incorporated some of the material in the book into my lessons.

Sheldon is cute, fun, clean (one mild swear word in almost ten years' comics I've seen so far, and some pretty abstract innuendo is the worst I've seen), and a great way to avoid doing the things I don't feel like I've got the energy for right now. Besides, the weather's turned cold and that means I can't paint the enclosure on my 8085 computer today. Maybe tomorrow, but for now, back to Sheldon. What's that duck up to now?

Saturday, September 4, 2010

Siig Multi-Touch Mini Keyboard Wrap-Up

A while ago I wrote about getting a Siig Multi-Touch Mini Keyboard. I wanted to get something of the sort because I wanted an integrated keyboard and mouse for use in the front room. I didn't want a separate mouse.

Well, after using it for the first few hours, I was pretty pleased. But as time went on I got less and less pleased. The touchpad was way too sensitive. It was registering clicks even when I wasn't touching it. When my palms were on the wrist rest, it would register clicks. I was getting all sorts of problems. Selections were just part of it, it'd be selected on something when I didn't even know it, so when I'd put my finger down to move the mouse pointer, I'd get an unintended drag. I'd see it--you can guess the natural reaction--and end up with an unintended drag and drop.

There's no way to make adjustments to the behavior of the touchpad. Adjustments in the OS don't affect it, nor do mouse adjustment. Siig's support barely acknowledges that the product exists, and there's no help there either.

Well, I tried just catching when it was happening, and tried avoiding making it happen. Neither worked well enough. My typing speed dropped through the floor, the errors continued, and there wasn't much I could do to keep it from happening. I just had to be prepared for it and try to minimize the damage. Not the best way to go.

Finally, I set aside the keyboard and put in another that annoys me with sticky keys. It was better. Two hours of typing later I was feeling better--with sticky keys on the keyboard. That pretty well sealed it.

I took the Siig keyboard back.

I've since replaced it with another keyboard. See my review of the Microsoft Wireless Desktop 3000.

Thursday, September 2, 2010

Installing Pygame on Mac OS X Leopard

In my ongoing campaign to broaden my programming abilities I decided to install
Pygame and play around with it. I want to try it out as something to present to my students this year. I've decided to add a small programming segment to the first semester of my high school computer class this year where we do a quick survey of several languages by doing tutorials in them before we go into Java programming in spring semester.

Pygame is an add-on package for python that makes it easy to develop games using Python. Python has no built-in support for native graphics, sound, etc.--Pygame adds that to Python.

When I went to install Pygame on my Mac, I ran into a couple of hitches. I managed to work around them without too much problem, but I thought what I did to get things going was worth sharing.

First, Pygame requires the python.org version of Python. Even though my Mac already came with Python installed (hurray for Apple for that), the version isn't one that Pygame is happy with. So I went out to python.org, clicked on downloads, and pulled the first thing I saw for my OS version. This turned out to be Python 2.7 for Mac OS X 10.5 or later. Yeah, I could have gone with 3.1, but to be honest I didn't look that far down the page at first.

Once I had it downloaded, I started the download of Pygame. I installed Python 2.7 from the Mac installer while that was going.

Once the Python install finished, I did python -V at the command line in Terminal. My answer:

#python -V
Python 2.5.1


Hmmm. That's the Mac preinstalled version, not the new one. OK, fine:

#whereis python
/usr/bin/python

#ls -l /usr/bin/python
lrwxr-xr-x 1 root wheel 72 Feb 21 2008 /usr/bin/python -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python


Aha! I needed to set up the appropriate links to make the new Python the current one.

#cd /System/Library/Framework/Python.framework/Versions/
#ls
2.3 2.5 Current
#ls -l Current
lrwxr-xr-x 1 root wheel 3 Feb 21 2008 Current -> 2.5
#ls /Library/Frameworks/Python.framework/Versions/
2.7
#ln -s /Library/Frameworks/Python.framework/Versions/2.7 ./2.7
#ls
2.3 2.5 2.7 Current
#rm Current
#ln -s 2.7 Current
#ls -l Current
lrwxr-xr-x 1 root wheel 3 Sep 2 12:45 Current -> 2.7
#python -V
Python 2.7


Hurray! Next I went to install Pygame. I unzip the zip, then run the installer.

No Install

Pygame then complained that it wanted Python 2.6! Python 2.7 wasn't good enough for it. I took a look at the dependency settings by right clicking on the Pygame installer in Finder, selecting "Show Package Contents", then opening "Contents" and double-clicking on info.plist there to open it in the Property List Editor. I expanded the Root item (the only top level item), then expanding "IFRequirementDicts" and expanding item "0". There I saw the Python version requirements properties. I considered changing it to require Python 2.7 by editing the SpecArgument field to 2.7 instead of 2.6.

But, it's not like my hard disk is mine to control, so I wimped out and installed Python 2.6 by going back to the Python All Releases download page, finding the 2.6 version, downloading and installing it.

Once it was in place, I went back to Terminal:

#cd /System/Library/Framework/Python.framework/Versions/
#ls
2.3 2.5 2.7 Current
#ln -s /Library/Frameworks/Python.framework/Versions/2.6 ./2.6
#ls
2.3 2.5 2.6 2.7 Current


Now Pygame will install just fine.

Wednesday, September 1, 2010

Old Computer Orphanage

Computers on my Doorstep
I got up this morning to find a G3 iMac sitting on the floor of my living room. My wife told me a friend of ours had come by earlier to drop it on our doorstep.

What a fun little surprise for the day!

G3 iMac

It's a 450MHz G3--the top of the line--with Mac OS X Jaguar loaded (10.2, one of the best versions of that OS), and it has Classic, which lets it run the OS9 stuff within X. 128MB of memory (remember when that was plenty? What do you do now that you didn't do then? We had web browsers and MP3 players back then, you know.) All in all a very sweet little all-in-one system.

Aside from some cosmetic dings and a missing keycap (up arrow), it's in great shape.

Unfortunately, it's a little too old for me to donate to my school--we'd need at least an Intel processor there, we need to teach on Windows as well as MacOS. But I have plans for building a G3/G4 based game network here at home so that the family and guests can enjoy some of the old games like WarCraft II that we miss so much. I just need to reclaim some space in the garage from my overflowing heap of Apple II stuff. ;)

Tuesday, August 31, 2010

Microsoft Wireless Desktop 3000 Keyboard/Mouse Review

My new Microsoft keyboard is great. I needed a keyboard to use in my lap in the front room with a non-Bluetooth computer. I tried out the Siig Wireless Multi-touch first, because it had the mouse and keyboard functionality all in one unit. No mice falling off the arms of chairs that way. And I've come to prefer the convenience of touchpads over mice over the past couple of years.

Wireless Connection

The Wireless Desktop 3000 uses an RF dongle to connect to the computer via USB. Since the computer I'm connecting this to doesn't have Bluetooth (an Eee PC 1000HD), this is about the best I could do. Unfortunately, the dongle isn't one of the sort that's practically flush with the side of the computer. It sticks out like a thumb drive. Fortunately, I'll only be using this set up when I'm not mobile, so it's not that big a deal.

Wireless Keyboard Version 2.0

The keyboard's back states that it's a Microsoft Wireless Keyboard 3000 v2.0. I don't know what the differences are from version 1.0. This one works well.

Excellent Keys

The keyboard itself is nice in that the keys all move freely from whatever angle you type on them. On a lot of similar keyboards I tried some keys, usually the space bar, would stick a bit when pressed from a low angle before depressing. The keys are all properly sized.

A biggie is the placement of the keys, such as CTRL and ALT. They're in the right place, at least they are if you've gotten used to having CTRL at bottom left and bottom right. Many keyboards place a FN key where a control or ALT key ought to go. This gets pretty darn frustrating, especially if you move between as many different keyboards in a day as I do. The Esc key looks odder than it feels. I haven't had any problems using it without thinking about it, and its placement makes the grave/tilde key a lot easier to use. That's appreciated at the Unix command line.

There are a lot of special function keys. They don't mean too much to me one way or another, except for the volume control keys that my Mac has trained me to get used to. The Fn keys above the keyboard are all primarily special keys for various things like opening a folder or whatever. Fortunately, there's a key to lock these to Fn keys rather than special keys for those of us who are more interested in quick access to F1, F2, and so on than to "send email" or "check spelling".

Keyboard Construction

The overall build of the keyboard is light, but very sturdy. It has a little bit of a "Rubbermaid" feel about it, but in fact it's quite stiff and sturdy. The keycaps are well shaped, and have a good texture to them. The lay of the keys on the board is also very good, each row feels a bit elevated from the lower rows, without being a stretch for fingers.
The keyboard comes with its own software, which the manual admonishes should be installed "for best performance." I haven't installed it. The system I use this keyboard with is mainly Ubuntu, and I boot WinXP on it about once a week. The keyboard has done everything I would like it to without any software installs. It acts just like any other USB keyboard.

Wireless Mouse

The model of mouse that was included in the Wireless Desktop 3000 package is a Microsoft Wireless Mouse 5000.

The mouse uses what they call "Bluepoint" technology for tracking, and I've got to say it tracks head and shoulders better than any other optical mouse I've used. The shape is very similar to older MS mice I have, quite tall and bulky. This isn't entirely a bad thing, it's easy to tell what you're up to, and to align the mouse in the hand. But it is chunky.

It's also a bit heavy. It feels like there's a rock in the bottom. But it moves well enough.

The scroll wheel doesn't have any detents, like my older Microsft mouse. This is taking some getting used to. I still feel like I have plenty of control when scrolling, but when there's no immediate response from what I'm scrolling in, the smooth scroll makes me wonder more whether the scrolling is registering. It's a sort of back-of-the-brain thing that acclimatization, more than anything.

Why a Duck Mouse?

For this use I didn't really want a mouse, I wanted something on the keyboard itself, like a trackpad or joymouse. However, I have to say that I'm pretty happy, the excellent tracking of the mouse makes up for having to use a mouse at all. That and the fact that the keyboard is excellent, and feels good when I use it.

Final Ranking
I've been using the keyboard for about a week now, and I've written about 75,000 words of text on it, possibly more. It hasn't vexed me at all, which is saying a lot. I'm considering getting one for my iMac desktop as well.

I'm gonna give the MS Wireless Desktop 3000 a rating of "excellent."

Aaaah. It's a joy to type on a good keyboard.

Sunday, August 29, 2010

A First Look at Windows 7 and Snow Leopard (Finally)

OK, so I tore myself away from CP/M and my Atari 2600 long enough to get my first exposure to Windows 7 and Snow Leopard today. We got my older daughter a new Eee PC laptop to replace one she drop-kicked (accidentally, by all reports), the replacement runs Windows 7. Last week I decided I to do upgrades of some of the Macs around the house to Snow Leopard. So I picked up a family pack of that, and did an install on one of my systems while Windows 7 was "initializing" on the new computer.

Windows 7

Let me be upfront about it. While I'm not a Windows "hater", I don't have any great love for it as an operating system. I don't think it's got any particular technical excellence about it, it's got a legacy of problems that tend to persist from version to version, but by and large it gets the job done when the job has been written to do its thing in Windows in a fairly competent fashion. I run Win XP on one of my boxes, I may upgrade someday when some particular need drives me to do so. It's not that I resist it, it's just that right now I've pretty well got that system whipped into shape, and I don't feel the need to repeat the work just to be on the latest and greatest.

When the time comes, I'll move on. That time isn't now.

My daughter, however, has her new Eee PC. I ended up being the one who got the machine started up for the first time today. I wanted to make sure it was functional within a time frame that would allow me to take it back to the store for a replacement if it turned out there was a problem. So I got to start up and use Windows 7 for the first time.

First Impressions

My first impression is that it's not all that different from earlier versions of Windows. The first image that comes to mind with Windows 7 is "new curtains in a miner's shack." It's still got that sort of clunky, crunchy Windows feel of how it does things, with some new art slapped in in those places where new art is easy to slap in. It doesn't feel all that new.

Of course, I think "new" is something the Windows audience felt they had enough of with Vista (which I found usable but somewhat more annoying than XP, and certainly no real improvement on its predecessor, at least for what I use it for.) So the retro feel may be intentional. Or it may just have been easy.

It's got a slight case of "I wanna look like a Mac"-itis, but not obsessively so. It still looks and feels like Windows, with half-melted icons being more the norm than when they first started appearing in the days of Windows 98.

Overall impression: Meh.

I won't be rushing to upgrade any time soon.

Snow Leopard

I'll preface this by saying that I think the user experience for Leopard has been a big step backward for the Mac. Tiger still sits at the top of the Mac OS X versions for me. Leopard's ability to deal with networking, both by itself and in conjunction with other Mac and non-Mac systems, is a big step backward from the "it just works" standard of Tiger.

Over the past few years, Macs have declined from being my multiple primary systems to being ancillaries in terms of my regular use. My little Eee PCs, originally purchased for use when travelling or at my easy chair, have supplanted my Macs. Given that I can buy 3 Eee PCs for the price of a single Mac, I'm in no hurry to go out and buy a new Mac.

(scroll down to skip Mac rants)

Add to that the fact that my current Mac systems are all replacements for hardware that failed under coverage by AppleCare. I bought my original systems at full price--well, I get the minimal educator discount. It meant something once, but my desktop I got as a refurb from Apple with no educator discount because it was cheaper than the educator discount. Apple had actually not solved the problem with the "refurb" when I received it. Fortunately I found it easily enough. The CTRL keycap was inverted on the keyboard and sticking, preventing the machine from booting until I pulled it off and put it back on properly.

That was the last of the G5 iMacs, and it was a great system for years. Then it started having problems. It had also had a problem I'd lived with for years--the headset plug didn't put out audio. I took it in to the Apple Store for both problems, having stated that it had both problems in every call prior, and stating so again in the store while the "Genius" was filling out the repair sheet. After about a week, Apple insisted my computer had no problems. I asked if they'd fixed the audio, they were ambiguous. I insisted that the system did have a problem that was causing it to go into thermal shutdown, even on moderately demanding app. I told them to keep looking. Some too-long period later they called back and told me they'd replaced the power supply. I asked after the audio. They said the audio output was fine.

I got the computer back, it ran great. But the audio jack was still dead. I'd given up substantial work time to go to and fro to the Apple store at the far end of Sacramento (the one in Roseville didn't exist yet), and I was ticked as can be about the audio jack still not working. When I called AppleCare they said there was no record, anywhere, of me stating that problem. I only said it on, like, EVERY call and interaction I'd had with them, repeatedly, with special EMPHASIS to make sure it didn't get lost in the face of the other shutdown problem.

(still ranting, scroll down to skip)

Apple refused to let me ship it back and forth for repairs, the way I have for the repairs for my PowerBook and MacBook (3 and 2 times, respectively.) The only offer they could give me was to replace it with a current model.

I should have stuck with the bad audio output. I've hated the new iMac ever since I've got it. Yeah, it's got "better" graphics chips, a Core 2 Duo processor as opposed to a G5, but the shiney screen shows me nothing but the window in my office. Fat load of good that does me. What am I supposed to do, work in a darkroom? My G5 worked great in the same location, this aluminum thing is an abomination. I often consider picking up a used older white iMac, and donating this thing to my school. Assuming I don't throw it out a window, first.

I suppose you can say that it was good of Apple to replace my systems. And it was. But I would much rather that the original systems just worked, or maybe even got repaired as I asked.
Both replacements are significantly worse than the original systems I bought in terms of usability. I say they're lower quality, too. Even though they contain newer technology components.

(end of Mac rants, you may safely continue reading)

So, I'm certainly no Apple fanboi. I've been distressed at the general direction they've gone over the past few years, though I think the Unibody laptops are a big improvement over the floppy sloppy Macbook they sent me to replace my third-time-broken PowerBook G4 (after much sturm and drang and wrangling over the phone over the course of several weeks, but that's another story.)

So...Snow Leopard.

Part of the reason I wanted it was that Leopard is limited in its video modes. My MacBook lives in my living room, since it's too fragile to use as a regular travelling notebook computer. It went back to Apple twice while it was covered under AppleCare for problems. I used that system with utmost care when I was going places with it. I put it in a padded case, didn't overload the case, set it with good airflow on a flat surface. It broke, not once but twice.

So now it's sitting on my entertainment center, pretending to be a much cheaper Mac Mini. So far, it's still working though I have to be careful since it runs hot as the devil--the airflow with the screen either closed or open is not nearly enough. It's a botched design.

OK, so Leopard and the older versions of Mac OS won't do a stretched display to fit my widescreen TV. The graphics chipset in the MacBook is certainly capable of it, but the OSes refuse to acknowledge this. I get 4x3 display resolutions listed for my TV, nothing else. I tried a third party solution. It hosed my system's display settings so bad I was afraid it was going to end up bricked. Fortunately, I managed to recover by booting off an external backup drive and get the system restored. And I got rid of the third party solution.

Last week I wandered into the Apple Store. I've been considering Snow Leopard for a while. Whenever I gripe about Leopard my other Mac user friends tell me I need to go to Snow Leopard. They're short on details, however, so I've been dragging my feet. I've heard such things before.

I walked up to one of the Macs in the Apple Store, one hooked up to an external display (not a TV, though. I didn't see anything with a VGA adapter on it) and opened up Display Preferences. I see the option "1024x768 (stretched)". Aha, I think, maybe now I can make the Mac use my widescreen as a widescreen without looking entirely wrong. (Isn't looking good supposed to be one of the Mac's strong points?)

(minor Apple Store rant in next paragraph, but it's brief)

That, with what else I've heard, and the relatively low price, had me picking up a copy of Snow Leopard at Fry's the other day. No, not the Apple Store. I don't know what was up there, but when I walked up to the front of the store looking like I wanted to buy something, none of the Apple associates even so much as looked at me. I have no idea what was going on. I considered banging on the counter then yelling "I want to give Apple my MONEY, does anybody here care?", but I decided to leave rather than risk an encounter with the mall police. So I closed the deal at Fry's a few days later.

(I finally get to the Snow Leopard install here!)

The install went pretty well, except when I got to the "optional installs." I felt like the installer was rushing me into doing something to my drive that I didn't even know what it would be. I hit a point where I was afraid to click to move on any further, since I expected it to give me a choice of what software packages I would and wouldn't want to install. I felt like it was going to go ahead and put who knows what on my system without my say-so. So I stopped and hit Firefox to find out what was up.

It turned out that I did get a choice, two screens past the point where I felt like it was going to commit me to installing 30 pieces of trial crapware on my system. There weren't 30 pieces of trialware in the package, it was the sort of thing I expected, X11 and the base Mac apps like Calendar and so on. But from the point where I balked, I couldn't tell that.

I also couldn't tell if I should have selected things I already had on my system, like X11 and the new Safari. Had it upgraded the old packages during the main OS install or not? I had no idea, and ended up just selecting Rosetta, figuring I could check version numbers on the other stuff and come back later.

So far as I can tell, I have the latest versions of the other software, but within the installer I had no way of knowing that based on what I was being told by the installer and the choices it gave me.

Once Burned, Twice Shy

I'm pretty goosey about OS upgrades on the Mac. An iLife upgrade on my wife's G4 tower a few years ago turned a fine system into a haunted system that never worked properly ever again. It left her with a bunch of corrupted family video files, and stopped her in her tracks from doing a wide range of video related tasks.

At this point Snow Leopard is pretty well indistinguishable from Leopard. There's a slider on Finder to adjust the sizes of the icons in icon view, but otherwise Finder still appears to be as stupid as it's ever been.

Video Modes?

And the video modes. No luck. Sure, I can stretch the display on my built-in LCD display. Whoop de doo. But I'm still stuck with nothing but 4x3 aspect ratio display options on my TV. This infuriates me. I've been able to make this adjustment in Windows since Win98, possibly even Win 95. The chipset is capable of it. The computer shouldn't need the screen to tell it what aspect ratios it has, it's the computer that does the stretching, not the TV. I'm going to call AppleCare and ask to make sure I'm not missing something, but at this point it looks like my MacBook won't even be up to the job of media computer.

Maybe I'll trade my daughter my MacBook for her new Eee PC, and put that on the TV instead.

Snow Leopard Overall Impression: Bleah.

Here's a Quarter, Kid. Go Get Yourself a Real Computer

Where's my Amiga 500? I need some quality computer time. The 21st century is waaaay over-rated.

Does it say anything that I get more excited over new browsers these days than new OSes?

Friday, August 27, 2010

A Young Person's Review of The Mote in God's Eye

My daughter read this SF classic and loved it, so I've asked her to do a review for my website, since I thought it'd be interesting to have a review of this book from someone who wasn't even around when it was written.



I have occasion to wonder if some of what I consider "classic" is material that's as doomed to be forgotten as some of the great novels of a century ago or more. I hate to think it's that ephemeral, but I'm not in a good position to judge. My daughters don't read a regular diet of the books I enjoyed when I was their age (but then, I was considered pretty odd for my tastes when I was that age, too), but they do enjoy picking up some 70s-80s SF to spice things up and break up the mangas a bit. Sometimes they even discover where things they read about in the mangas "come from."

Check out the review, and stay tuned. My younger daughter ate up Ringworld, so I'm trying to get a review out of her, too.

Thursday, August 26, 2010

Making the Mac Speak in Java

The Mac "say" program is an endless source of fun and mischief. In class, I like to make the Macs talk to the students sometimes using the say command from an ssh login from across the room.

While preparing an article on calling system commands in Java, I decided to combine that with the Mac "say" command in my Simple Video Game Kernel.

I'm posting this here, since I avoid posting platform-specific code at my Java programming blog.

Give it a try, if you've got a Mac handy, and enjoy.

/* A simple video game style kernel
by Mark Graybill, August 2010
Uses the Timer Class to move a ball on a playfield
30 times per second. Add additional "players" to
the playfield with appropriate control routines to
make a full game.

This version adds speech to the poor little ball getting
bounced off the walls. Mac-only, I'm afraid.
*/

// Import Timer and other useful stuff:
import java.util.*;
// Import the basic graphics classes.
import java.awt.*;
import javax.swing.*;
// import java.lang.Math;

public class VGKernel extends JPanel{

// This is not a recommended coding practice, just a shortcut.
public Rectangle screen, ball; // The screen area and ball location/size.
public Rectangle bounds; // The boundaries of the drawing area.
public JFrame frame; // A JFrame to put the graphics into.
public VGTimerTask vgTask; // The TimerTask that runs the game.
public boolean down, right; // Direction of ball's travel.

// Create a constructor method:
public VGKernel(){
super();
screen = new Rectangle(0, 0, 600, 400);
ball = new Rectangle(0, 0, 20, 20);
bounds = new Rectangle(0, 0, 600, 400); // Give some temporary values.
frame = new JFrame("VGKernel");
vgTask = new VGTimerTask();
}

// Create an inner TimerTask class that has access to the
// members of the VGKernel.
class VGTimerTask extends TimerTask{
public void run(){
moveBall();
frame.repaint();
}
}

// Now the instance methods:
public void paintComponent(Graphics g){
// Get the drawing area bounds for game logic.
bounds = g.getClipBounds();
// Clear the drawing area, then draw the ball.
g.clearRect(screen.x, screen.y, screen.width, screen.height);
g.fillRect(ball.x, ball.y, ball.width, ball.height);
}

public void moveBall(){
// Ball should really be its own class.
if (right) ball.x+=ball.width/4; // If right is true, move ball right,
else ball.x-=ball.width/4; // otherwise move left.
if (down) ball.y+=ball.height/4; // Same for up/down.
else ball.y-=ball.width/4;
if (ball.x > (bounds.width - ball.width)) // Detect edges and bounce.
{ right = false; ball.x = bounds.width - ball.width;
try { Process p = new ProcessBuilder("say", "-v", "Ralph",
"[[pbas +18]] [[rate +70]] Ow").start();}
catch(java.io.IOException io){}
}
if (ball.y > (bounds.height - ball.height))
{ down = false; ball.y = bounds.height - ball.height;
try { Process p = new ProcessBuilder("say", "-v", "Ralph",
"[[pbas +18]] [[rate +70]] uh").start();}
catch(java.io.IOException io){}
}
if (ball.x <= 0) { right = true; ball.x = 0;
try { Process p = new ProcessBuilder("say", "-v", "Ralph",
"[[pbas +18]] [[rate +70]] arg").start();}
catch(java.io.IOException io){}
}
if (ball.y <= 0) { down = true; ball.y = 0;
try { Process p = new ProcessBuilder("say", "-v", "Ralph",
"[[pbas +18]] [[rate +70]] uh").start();}
catch(java.io.IOException io){}
}
}

public static void main(String arg[]){

// Create a Timer object and an instance of VGKernel
java.util.Timer vgTimer = new java.util.Timer();
VGKernel panel = new VGKernel();

panel.down = true;
panel.right = true;
panel.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.frame.setSize(panel.screen.width, panel.screen.height);

panel.frame.setContentPane(panel);
panel.frame.setVisible(true);

// Set up a timer to do the vgTask regularly.
vgTimer.schedule(panel.vgTask, 0, 20);
}
}


The funny looking [[pbas +18]] type things in the "say" commands are inline commands to the Mac speech synthesizer to change the characteristics of the voice. You can omit these if you want to make the commands easier to read, then add them back in to see what affect they have (or play with the numbers.) You can find out more about using the Mac speech synthesizer at Apple's developer site.

Wednesday, August 25, 2010

Pathfinder RPG: Advanced Player's Guide Quick Look

I just bought the Advanced Player's Guide for the Pathfinder RPG (from my favorite shop, see above. Chris loves to do phone and internet orders as well as walk-ins like me.)



I wasn't originally planning on buying this book, at least not for a few months. To be honest, the preview material sort of put me off. The art is part of that. The technical execution of the art is as good as Paizo's art has ever been, but the character design has veered deeper into the kewlio. I kvetched about the art a bit before, in my Pathfinder RPG review, but this is just a bit too much for me. It detracts from the material of the book. I hope we won't be seeing a whole lot of these characters in future materials, the way the original characters have been used over and over and over again (Paizo does get their mileage out of their art and their character designs, that's for sure.)

So why did I drop the hardback retail on this book?

The first thing I was looking for from a new book is well designed player classes.The Alchemist, the Summoner, and the Witch are all classes I like. The Cavalier, Inquisitor, and Oracle don't do it for me. While new classes was the main thing I was looking for from this book, there turned out to be some surprises that finally tipped the balance for me to get this book. First, a look at the classes.

Alchemist

I have a soft spot for Alchemists. A friend played a very interesting Alchemist in the first campaign I played in. The character class came from The Strategic Review (or it may have become The Dragon by the time the Alchemist appeared, I don't recall.) He did a great job with that character, and when he lost his arm--only to have it replaced by a tentacle due to a botched regeneration--it made the character more interesting. I added the Alchemist to my campaign, and I've had the class ever since. Here's my latest version for OD&D. So far, the Alchemist in the PFRPG APG looks good. The power level looks good for the overall level of the game, and it's a flexible enough class to be good for a lot of adventuring. I'm sure I'll have more to say about it in the future.

Summoner

The Summoner is another type of class I like. Ever since playing Metagaming's Microgames Melee and Wizard (both part of a larger game called The Fantasy Trip), the idea of a mage who acts mainly through indirect spells that call up minions and items has appealed to me. I've tried designing several such classes for OD&D, but haven't been happy enough with them to use them in my present game (largely because it takes a lot of time to balance such a class.) The Summoner class of the APG seems a bit limited, since it's mostly monster-type summoning so far as I can tell at first look. I need to spend more time with the spell list to see if there are any of the "summon a mondo weapon for your buddy" type spells as well to round out the class a bit. What I've seen so far looks good.

Witch

The Witch is also a class that goes back a long time. There were two of them in early articles of TSR and The Dragon that I recall. I also built a pretty good Witch/Warlock class myself that I ran for many years in my game. The Witch class here looks like a sort of arcane druid class. It looks like a good option for players who want this sort of slant to their character, when one of the other caster classes doesn't appeal to them.

What Didn't Work for Me

I'll try to be brief about the three new classes that don't appeal to me; Cavalier, Inquisitor, and Oracle. Cavalier and Inquisitor look just too limited to be of general use. It's too early in the game's publication cycle to start putting out such limited character types, IMO. And where the appeal is for the Oracle, I don't know. It's a pretty blah looking class, particularly next to the extremely well designed Cleric class for this game. The Inquisitor looks like it's as much of a party pain in the tookus as the old-style AD&D Paladins were, possibly worse. And the Cavalier just looks like a gimped fighter. I'll look at them some more, there's plenty of possibility I've missed what the magic is to these classes. Right now I consider them dead weight.

The Surprise

What I wasn't expecting but was pleased by is the additions to the core classes from the original Core book. I wasn't expecting much but fluff, but from my brief look so far, it looks pretty meaty. It was enough to get me to lay down my cash, along with the three classes I like.

The Downside

The BIG downside is that there's now another book to be rifled through at the table. "Which book was that in?" will become a common question. It drives me crazy. One of the things I really liked about PFRPG was how great a game it is with just two books. If this was just one more GMs book, it wouldn't be that big an issue. But it's a player book. Which means it'll be getting passed around the table along with the Core book. "Where was that ability?" "Where was that feat described?" Sigh.

As it is, I don't plan on rolling the new rules into the game until some time down the road. If someone has to roll up a new character, I'll let them draw from this book in the meanwhile, but otherwise I'll wait a bit until my players have more of what's in the core book well known to them. In the meanwhile, I'll be reading and familiarizing myself with this new book.

One More Factor

Another thing that pushed me toward buying this book now is my 15 year old daughter. She really got excited by this book. She gives it two thumbs up, with no reservations at all. She likes everything she's seen in it.

PFRPG Roll Call

Here are the books I've bought so far and what I think of them:
Core Rulebook: Five Stars. Paizo has made d20 really smooth and fun to play.
Bestiary: Five Stars. The best monster book I've ever had, bar none. And remember, I was on the waiting list before the original Monster Manual came out back in the 70s. It makes a GM's life a good one. Get it even if you're doing some other d20 game. You'll wish they were all this good.
Gamemastery Guide: Three Stars. Only get it if you're a new GM, or if you see some material in it you think will be particularly useful to your campaign, like the NPC generation rules or the city material. If you're a new GM, it'll help get a campaign rolling quickly.
GameMaster's Screen: One Star. Total Fluff. Well made physically, but the reference charts on it aren't the ones you really wish you had. Avoid unless you want something really solid and really expensive to tape printouts of the charts you actually use to.
Advanced Player's Guide: (Ranking Awaiting Further Looking) Get it if you want to spice up your campaign past the core material. Otherwise, wait until your campaign has matured a bit. I like it pretty well, but I think they should have put in four really killer classes rather than three good and three specialty classes probably not for all campaigns.

Prestige Classes:
The APG has prestige classes in it, but I don't mention them here because they don't get used in my campaign except for NPCs. I tend to top out the characters' lives before they become too über, at about tenth level or so.

Tuesday, August 24, 2010

Browsing the Web with an Atari 2600?

I posted an entry about Web Surfer, my new cartridge for my Atari 2600 over on my other blog by accident last week. It was supposed to be posted here.

Web Surfer cartridge box for the Atari 2600. Web browser for the VCS?
Browse the Web with Your Atari VCS 2600.
Nevertheless, there are not one but two, count 'em, two pages of information over there. Apparently I was a bit too subtle in my placement of the link to the second page, and almost nobody who has visited there has seen it. So I added a message next to the image (the picture at the bottom of the first page) that acts as a link to the second page. It's the "how to" page--the first one is just sort of a "gee whiz" page. I guess I fail at information organization.

Have a look. If I still get nobody getting there now, I'll use 36 point type and the <BLINK> tag next time. If that doesn't work, we'll, then I'll know for a fact that I should just bury my mistakes and move on. ;)

Wednesday, August 18, 2010

The High Frontier by Gerard K. O'Neill as Seen from Year 2010

I've posted a new book review of Gerard K. O'Neill's The High Frontier as it appears today.

I read this book back in the 70's, but haven't read it in over 25 years. I was almost scared to see what it would look like in the light of 2010.

Have a look and see what you think. Impetuous enthusiasm or something that could really be real?



Read it for Yourself

Tuesday, August 17, 2010

New Wireless Keyboard: Siig Multi-Touchpad Mini

I picked up a new keyboard to use in the living room yesterday. It's a Siig wireless model with a touchpad in it. I wanted to give up the mouse, and just get everything in one place for this work location. I'll do a full review on it later, once I've had a chance to get used to it.

So far, it's going well. They keyboard itself is very nice. Most of the mini keyboards I've tried have keys that are too small, or keycaps that are too close together at the top, making it easier to fat-finger them when typing in a lap. The Siig has well separated keys of good size. The Enter key is a little smaller than I would like, and there's a Fn key in the lower right corner where my CTRL key is, otherwise I'm pretty happy with the keyboard.

The mouse keys are recessed just a bit too much, and could be a millimeter or two taller (from front to back of the keyboard) to make them easier to hit.

My big open question at this point is whether I can learn to live with tap-to-click on the keypad. For the first few hours, I had no problems. Now it seems like I'm always clicking when I don't want to. Personally, I despise tap-to-click. I like touchpads for pointing, and scrolling. Clicking is for buttons.

Maybe I can learn to live with it. My daughter loves tap to click on her Eee PC (I turned it off on all of mine.) I haven't found a way to turn it off on this keyboard--the control in the OS's options controls the computer's inbuilt touchpad, but not this one. I suspect all the translation from touchpad to clicks is happening inside the keyboard itself, so the OS may have nothing to say about it.

I'll come back with a more full review after I've had another week or two with this keyboard.

Meanwhile, I can now sit in a number of different places while using this computer.

Monday, August 16, 2010

Whatever Happened to the Eee Keyboard PC?

I like my ASUS Eee PCs. I've got three of them. They've displaced a full size PC laptop and a MacBook (now relegated to being my TV computer) as well as a desktop system. They're rugged as heck--I throw them right into my book bag when I take one (or more) to school. They work well, and I especially liked buying them with Linux pre-installed and configured for the hardware. Though now ASUS appears to have been strong-armed into shipping with just Windows (market demand my foot--like anyone trying to buy a 901 with Linux on it when it was first released would believe that!)

A new model was shown around, a unit that has the entire system built into the keyboard. Expansion ports, connectors, and a touch-screen display. You can see it at slashgear and on Steve Chippy's YouTube video. I thought this was pretty darn slick. I was ready to buy at least one, probably two.

Then they just sort of dropped off the face of the map. They don't appear nor are they mentioned on the ASUS Eee site.

And I haven't heard any follow-up reports since those glowing announcements telling me I was going to be able to buy one last June.

The Eee Touch and Eee Box just don't do it for me. The Eee Keyboard was the killer box. I can't hardly think that I'm so very odd that I'm the only one that was ready for the return of the keyboard console computer.

What do you say?

p.s. ASUS: If you want to recover some costs by selling off a couple of functional prototypes, drop me an email!

Friday, August 13, 2010

Greenfoot's Greenroom: What a Bonanza!

I finally got around to registering for The Greenroom, a support area for teachers using the Greenfoot framework for Java in their classes. All I have to say is, Wow!
The Green Foot of Greenfoot

If you're a teacher using Greenfoot, or thinking about it, take the time to sign up for access. Access is limited to those who can show some bona fides to show that they're teachers, not sneaky students trying to wreck the teacher's lesson plan. ;)

That's what kept me from signing up for some time, I just didn't take the time to dig up something with my name on it at my school's website to show my status. Well, I finally took the time to do it, and now I wish I'd bothered a long time ago!

The resources available include a wide selection of very well presented lessons, exercises, and information on using Greenfoot with Eclipse, etc., etc. Then there's the discussion boards. I follow the Greenfoot and BlueJ mailing lists, but the Greenroom discussions have an extra dimension to them, particularly from the teacher's perspective.

If that's not enough, that's also where to find the announcement of the forthcoming Greenfoot 2.0! My excitement about Greenfoot 2.0 is the new editor, with syntax highlighting and code completion. I can't wait to get my hands on it, I'll post about it when I do.

Thursday, August 12, 2010

Class Projects: The Good, the Bad, and the Future Value

In my prior post about the student projects posted from Cornell's ECE 4760 program, I mentioned how nice it is, as a teacher, to see these reports and get a sense of how what I do with my classes compares. Class projects have their limitations, but they're tremendously valuable for the students.

The Good Parts:

  • Allows students to develop and build on their own ideas.
  • Lets them exercise the knowledge they've gained.
  • Gives opportunities to discover gaps in their knowledge.
  • Introduces time and resource constraints to practical work.
  • Teaches teamwork skills.
  • Opens up "teachable moments" not accessible through regular classwork.

The (sort of) Bad Parts:

  • Time and resources are never sufficient.
  • Substantial amounts of effort can be expended on fruitless effort.
  • Non-self starters can falter easily.
  • Much of the class grade rests on work patterns with which many students are unskilled.
  • Teams don't always gel.

I say "sort of" bad, because these are the same sorts of problems that are encountered outside the classroom. In the classroom, the cost of failure is a less than sterling grade--and not even necessarily that. Failure in the classroom is not the same as commercial failure. A non-working project does not necessarily result in a poor grade (though one that works as planned will usually garner a better grade.) The classroom is a good place to be pushed and challenged.

The Future Value:

  • Lessons learned when doing projects are often more valuable outside the classroom, in terms of time spent, than much else that is done in the classroom.
  • Recognition of the value of people and communications skills alongside technical skills.
  • Understanding that technical work must be accomplished to have success, even in the face of uncertainty.
  • Learning to build on strengths, rather than be halted by shortcomings.
  • Experiencing how great the gap is between a technically successful demonstration and a finished product.

The road to a finished product is seldom traveled to its end in a class project. There just isn't time in most class schedules, even if the students spend time outside class working on the project. However, a sense of the length of that road is obtained, I find. And a new appreciation for the effort that goes into the "second 90%" of work on a product is developed.

In my class, the teams get a chance to see what happens when actual users lay hands on the project results as well. The developers of a program have to watch silently as members of another team try to use their product. They get to learn more in 20 minutes than I could give them in hours of lecture.

The best part of class projects, in my opinion? It's a lot more fun than limiting a class to assigned classwork. I try to spend as little time on teaching the necessary material as possible before setting my students loose to discover on their own. It's something that not only do I enjoy more, but my students, so long as they keep the project in perspective, can enjoy a lot more than assigned work. It's very jarring for some to be set loose this way, but once they're helped over the hump everyone has a really good time with it.

Plus, they get to have an actual thing out there with their name on it. Something they can point to and say

"I did that."

Tuesday, August 10, 2010

Cornell University's AVR Projects: Hobby Inspiration, Teaching Inspiration

The ECE 4760 class at Cornell University posts their student projects for the class. There are several years' worth of class projects there, of all sorts. The class uses the AVR microcontroller, a very nice platform that I enjoy using both professionally and personally.

For personal use, I really like the Cornell site since it not only gives me ideas, but it lets me see implementations others have made (or attempted) of ideas I have for my own projects. The reports are usually sufficiently detailed that I can either replicate or build on the students' solutions to particular problems.

An AVR STK 500 development board in a custom case

Teaching Inspiration
I also find the site very inspirational as a teacher. Seeing the sort of results, rescopings, and occasional failures of the class projects undertaken by the students in this class is very valuable to me. I end my high school computer class with a project each year. My students go through the same set of compromises, adjustments, and triumphs as the students in the Cornell ECE 4760 class. While I know it's normal, it's also reassuring to see the "raw data" from another class in the form of the students' reports on their projects. It gives me a sense of where other instructors are in the scale of setting challenges before their students versus the results. Clearly the Cornell class is a challenging and dynamic class. The projects they undertake are exciting, and the results, even when less than hoped for, are exciting as well.

Plus, it makes me feel good to see that the much lower level and smaller scale challenges I present my students produce similar results. I can only hope that some of them get to go on to experience something like the ECE 4760 class in the future, and that I've helped prepare them for such things.

Wednesday, August 4, 2010

Java, Javascript, and the Installation Hurdle

For the past three years I've been teaching high school computer classes while using Java to teach the basics of programming in class. My usual routine is to teach HTML and CSS in the first semester, which provides the students with many of the basic skills of programming. Then in the second semester we start actually programming with Java.

The past two years I've taken advantage of the Greenfoot framework for Java. It eases the use of graphics and sound in Java programs, but more importantly it provides a visual representation of classes and objects. This greatly eases the burden of teaching what object oriented programming is all about, as well as demonstrating its advantages.

My reasons for using Java are several. Briefly, it's multi-platform. It's a "real" language, in that it is used outside the school and professionals are employed to use it. It incorporates the available facilities of the system, including graphics and sound, natively.

One of my hopes for my students is that after using Java in class, at least some of them will use it outside class as well. Unfortunately, for many of them the installation process has been a roadblock to doing this. Particularly in Windows, where an extra step has to be performed to add the Java SDK to the system's path. The students with Mac OS X at home are lucky, they don't have to install the SDK, it comes with the OS. The Linux users are usually capable of managing it for themselves. But about 80% of my students are under Windows outside of class. And the Java SDK install isn't what they're used to.

One potential solution to this would be moving to Javascript. There's no installation barrier there. One reason I've not used Javascript in class is that graphics subsystems like Canvas and SVG are not uniformly available. Even when IE9 comes out as a regular product next year, those students with Windows XP systems at home (about 75% of the Windows-only homes are running only XP, based on my surveys in class), this problem won't be entirely solved. The difference here is that the install of a second browser is a lot easier than a Java SDK install.

The installation barrier won't be the only thing my choice of language in class hinges on, but it's certainly a significant factor. Exactly why the Java SDK install has remained so hostile to Windows users is unclear to me. It smacks of elitism on the part of Sun/Oracle (if you can't hack the install process, we don't want you using it), but then the old saw about not ascribing evil intent where simple incompetence will suffice comes in. Maybe they just don't think it's a problem.

I expect to at least introduce Javascript this year as part of the HTML/CSS segment. Whether I do so and how deep we'll get into it will depend heavily on the character of the class--the chemistry of the students in any given class can make things vary a lot from class to class. Sometimes it's a struggle to get past <html><head><title><body>, other times I find them getting ahead of my lecture by several classes during one open work period.

Another factor in my willingness to consider using Javascript as the primary language in class is the advances the language has made recently. The ECMAScript Edition 5 specification is a big improvement on earlier specifications for the language. Likewise, the viewpoints of Douglas Crockford have influenced my impression of the language and its use.

If you're interested in Javascript, I highly recommend his book: JavaScript: The Good Parts.

Thursday, July 29, 2010

Pathfinder RPG by Paizo

Paizo's Pathfinder RPG is a game that I just keep liking more and more. Until now, I haven't had much use for d20 games. But Pathfinder really seems to hit the balance just right. As a DM/GM/referee I really like the Paizo books.




I started playing role playing games with a friend who started running a game based on photocopies of photocopies of Gary Gygax's hand-written notes. I'd been playing war games for a few years, and enjoyed D&D a lot as well. Over the years, I've run or played in games using all sorts of systems. Most of that time I've run a game based on the original D&D 3 book set and pieces taken out of its supplements and the very early D&D magazines. Other than original D&D (OD&D), the original Runequest has been my favorite set of game rules.

When D&D 3.0 was being developed, friends of mine were play testers. The revamp of the game sounded very, very promising. AD&D had become far too Byzantine for me, I skipped AD&D2 entirely. When the d20 rules for D&D3 came out, I started a game using them. I was excited, I was ready for the change and wanted to have a game that'd roll along as easily as OD&D but be somewhat more fleshed out.

Unfortunately, things never really gelled. The game just didn't run all that well for me, and my players were ready to give up. About that time 3.5 came out. Hopes high, I checked it out. Unfortunately, it took what wasn't working in 3.0 and made those things worse, not better. It was more complicated and institutionalized the power creep that had already entered the game. I went back to OD&D for my fantasy games (for SF I was using the original Traveller rules I bought in 1977.)

The appeal of what d20 represents was still there, but at the table the game just wasn't working for me or my players. The system made it about impossible to bring in new players, the life of any long-running game. With OD&D I could get a new player in the game making confident choices for their characters in an hour or less. Yeah, I was writing my own adventures and content no matter how little time work and the rest of life left me. Yeah, players never quite knew how things were going to go when they were outside combat and I was making up resolution systems for their actions on the fly. But we could jump in, play, and have fun easily and quickly at the table. I could write really simple software to help me generate encounters and otherwise prepare for a game. I had over 30 years worth of notes backing up my game.

Then came the announcement of D&D 4.0. No big deal. I'll just keep rolling along with OD&D.

But some folks weren't ready to give up on d20. It had worked for them. The "ecosystem" thing that the OGL promised had actually happened. That ecosystem thing was something I wanted part of, in spite of my problems with d20. Then leadership happened. The folks at Paizo decided they weren't just going to give up the stake they had in d20.

I downloaded the Pathfinder RPG beta document, and immediately liked what I saw. Non combat skill rules were simplified. The rogue/thief class had some power back. d20 rules problems were settled with sensible corrections. As a beta document, it didn't have all the introductory material that would be expected in a finished product, but it definitely was a big step toward closing the gap between me and d20. I ran some skirmishes with small groups of players and played around with the rules solo. It was encouraging.

Another plus was that the core rules would be published in 2 books, a rulebook and a book of critters for the game. Getting soaked by the tradition of putting things in 3 books was getting old, especially when five hundred add-on books follow, and other systems were regularly coming out with a single core book. Add to that that with border art, incidental art, and other foo-foo each page of each book dedicated less than one third of its space to actual rules, and it was time for a revolution.
I picked up the Core Rulebook as soon as it was available at my friendly local game shop. I bought it to read, not to play. I had an active Traveller game going using the new rules from Mongoose. But, as with the beta, I ran some solo stuff to sort of try out the rules and I ran some simple skirmishes with my daughters just to get some experience with live players.

 I liked the changes Paizo had made a whole heck of a lot. The changes are few, and subtle, but the effect on play are tremendous. It's what d20 should have been.

Then the Bestiary hit the streets. I picked it up, too. The free previews had spurred my interest, plus this way I'd have a full set of core rules in case I wanted to play for real someday. Not that I couldn't have used any other d20 book of critters, like my D&D 3.0 Monster Manual. But among the other things I'd liked, a set of sample stats for a typical critter is a part of each listing in the Bestiary. If you don't want to have to roll dice for each random encounter, now you can just use the prefab creature straight from the book.

Finally, my daughter decided to take a sabbatical from running her Rules Cyclopedia based OD&D campaign. Her players wanted to keep their characters going, so I agreed to pick up the game. My little skirmishes and pseudo-encounters had given me confidence that I could run Pathfinder, so I converted the characters and started running a Pathfinder campaign.

I took advantage of the d20 ecosystem and pulled "Hollow's Last Hope" from the internet, touched it up, and put it into play. The first session I used a few OD&D mechanics to keep play rolling (my players didn't even notice.)  I looked up the rules I was fuzzy on between games, and the second session went even better, and hewed closer to the rules as written as an extra added bonus.

By the third session it was as easy for me to run the Pathfinder RPG as it is for me to run OD&D. This is as opposed to D&D3.X, which was still a rough struggle for me even after a year and a half. Granted I have the D&D3.X background as I'm coming to Pathfinder, but really that's not the issue. Any more than my Runequest experience affected my ability to run Lejendary Adventures or any of the other skill-based systems. Rules either run well or they don't.

By itself that's good, but what really sells me on a game system is how it affects the players. That's what sold me on Mongoose's Traveller after over 30 years of running "Classic Traveller" (which I still stir into my Mongoose Traveller game.) The players felt more empowered by MGT, they got into the characters and adventures faster and more deeply. Classic Traveller is still great, and it meshes well with MGT, but when I run a science fiction game it's Mongoose's rules that are the core now.

Pathfinder had the same effect on my players relative to OD&D. The non combat skills set now assisted the players, rather than confusing them. There is enough definition to make them feel empowered, but its simple enough they aren't overwhelmed or confused. It's enough, and not too much. That's hard to do. Paizo did it.

A word on the art. Art has a pretty strong effect on me when I'm reading those rule books. I try not to let it happen, but it does. As much as I like the Mongoose Traveller rules, the art puts me off. I end up covering it with my hand so that I can read the rules on many pages. I roundly hated the art in the TSR d20 books. The border art, the character art...I hated it all.

I dislike the Paizo art a whole lot less. It still comes across as kewlio, but it's not oppressively so. The technical execution is definitely a big step above the TSR book art. Hackneyed as the characters and scenes are, I roll my eyes at it a lot less than I do the TSR art. It's decorative, rather than obnoxious. The TSR d20 books would be better as nothing more than black text on white pages. The Paizo books would be diminished by the loss of the art.

In a world where over the top, overly embellished fantasy art has become de rigeur, the Paizo art  is the best of the breed I've found. It's not my cup of tea, but it doesn't make me grit my teeth and cover half the page with my hand as I try to get some rule into my head.

Bottom line, I like Paizo's Pathfinder RPG. A lot. I like it more the more I use it. I feel like the money I've spent on the game (aside from the GM screen*) is well spent. My players are having fun, even the one that doesn't like fantasy games. I can run a smooth game that swims along nicely. The power levels are high compared to D&D3.0, but at least they're well balanced and so far appear pretty well stable. Thumbs up.

I can also recommend the Game Mastery Guide, though it's not essential by any means. I got it strictly as a luxury, and it's been a good read. If I ever feel the need for adding a bit more structure to my cities, I'll probably use the material in it. Most of the material in it is aimed at a newer DM, or one moving from using prepublished modules to buillding their own campaign. Even as a DM with over 35 years of experience I'm enjoying it, but it hasn't really affected my game yet.

Speaking of art, the cover almost put me off buying this book. The guy on the cover looks like he's the Munchkin Your Mother Warned You About. Again, the art's technical execution is excellent, but the subject it trite and overworked. But you know what they say about books and covers.

* Now that I've said that I don't like the GM Screen, I guess I'd better explain it. The construction and materials of the GM screen are top notch, but as a game reference aid it sucks rocks. The Paizo people would do well to go back and look at the contents of the GM screen for "The Classic Dungeons and Dragons Game" box set. It's the most useful GM screen ever made, bar none.