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.