Saturday, September 15, 2012

The Fossil Project, Part III: Frotz and Zork

I was hoping to use the Fossil to play some interactive fiction, but I pretty much put it on the back burner until I watched Jason Scott's Get Lamp and remembered, Oh yeah, they used to run these things off floppy disks and tapes back in the day. How hard can this be?

For starters, it's not like I can actually get floppy disks or tapes for this stuff without paying lots of money on eBay, at which point I would likely wait anxiously for its arrival only to discover it doesn't work with FreeBSD.

I figured there must be some way to get floppy disk images for Unix, or some other means of playing it directly. I didn't really have hope I'd get a general interpreter for z-code files, but I also didn't know where I'd find a plain old regular program-version of Zork or anything else. And I really, really wanted to play Zork.

I posted a question on the forums that probably revealed my great ignorance of what I was doing. First I got a hint towards my Internet-connecting problem - it basically gives me hope that one of the other old computers lying around here might have a compatible network card, or that I'll be able to find one somewhere that's compatible - and then the great Zarf, Andrew Plotkin himself, answered (how sad is it that I still haven't played Shade?).

Ah, that reminded me I could just Google "FreeBSD Frotz" and see if anything useful came up - anything precompiled. I managed to find a section on the FreeBSD site full of ports of various applications and this horrifying thing appeared when I clicked on the Frotz one:

Either something was missing or I didn't (don't) understand makefiles, and I didn't really feel like installing the entire ports tree (even though it's rather lightweight and looks quite easy).   It was apparent I had to give Zarf's link a shot after all.

I unpacked the tarball file on my Mac and looked at the install instructions. Unix with an ANSI C compiler? Check. POSIX-compliant version of make? Um. I hope so. SYSV-derived curses library? No idea what that means but it's not completely necessary ("Maybe you'd like to experience what it's like to play Adventure on a teletype" = true) so I just half-hoped FreeBSD had a sufficient curses library and moved on. I looked this up later, by the way, and it's got nothing to do with swearing at the parser.

The install instructions then informed me that precompiled Frotz for FreeBSD is available in the ports tree. I already knew that, obviously, but it made me toy once again with just installing all the ports.

But hey, I figured this tarball thing sounded reasonable enough to work, so I burned the tarball to a CD to transfer it to the Fossil (literally the fastest way I have to transfer data to it…no offense meant to floppies and tapes).

I had to learn about mounting CDs in FreeBSD, and edit my first makefile (in vi!). I was feeling quite out of my depth, but when I held my breath and typed "make" in the proper directory, everything went fine. I then installed it, and again, nothing broke.

Now to deal with Zorkifying my Frotz.

I found a download of all the Infocom games in ZCode format, which I am not linking because the copyright for these games might yet be held by Activision. That aside, I'm definitely looking forward to trying A Mind Forever Voyaging, Hitchhiker's Guide, Planetfall, and all the Zork iterations.

There was some more CD-burning and some very tedious copying of games to the Fossil, but before too long (and after some command-line "hunt the verb," a favorite game of every IF player and Unix-terminal newbie), my dear Fossil was telling me I was standing in an open field outside a white house. I played several turns and saved it and so far everything looks totally functional. And I am all kinds of psyched.

My thanks to Zarf and everyone else who posted in that original thread (RealNC, simvig, UnwashedMass, frotz, and ThomasDickey). The interactive fiction crowd is one of the most helpful (and friendly) online communities I've ever seen.

Wednesday, September 12, 2012

True Free Will Chooses God's Way

I think that the only way to have true free will is to know everything and to know everything objectively.  What we have instead is a partial picture of all things - partial knowledge, partial understanding, incomplete ability to place value correctly - and too many influences,  in the form of people and experiences and tastes, not to mention God and Satan, whom I do believe exist (in fact, this post is directed primarily at Believers, though I welcome anyone else to read and discuss it as you wish).  If we could live without bias and understand all of the premises and all of the possible conclusions - know all of the possible effects of the weather and the spinning of planets and the growth of plants and the rise and fall of businesses and empires and the unions of people to create new people in the world - we would at last have a free choice.  As it is we are blown about by the wind and still think we have full control over our choices, so long as "nature" or "God" or "other people" don't get in the way.

And if we had true free will, in this manner, but still had our other human qualities, I believe most of us would choose God's way unquestioningly because it would obviously be the best way to do things.  As it is, we see so little of the picture and we're telling the only Person who can see everything, and who has our good at heart (for all things are done for the good of those who love God, and for His glory), that we know better where to go and what to do.  It's no wonder we regularly fall into pits the moment he lets us try our own way for a little while.  We can't actually see almost anything.

I'd like to develop this thought further, but for now I'd like to put it out there as it is and see what discussion occurs in the comments.

Monday, August 27, 2012

The Fossil Project, Part II: Choosing and Installing FreeBSD

I decided to install a variation of Unix on the Fossil (if this means nothing to you, read this post first), and I decided I didn't want it to have a GUI because I wanted to learn Unix commands with nothing to lean on.  I also have this great copy of Unix for Dummies (4th edition! copyright 1998! bizarre and fantastic gift from someone) that assumes no GUI, so it seemed like a good route to take.  After all, why do a project like this if it's not more difficult than necessary?

The book, however, assumes that you've been saddled with Unix by someone at your office and just have to figure out how to use it, so the choosing and installing of the new OS was up to me.  I did what anyone else would do - I took the question to the Unix/Linux node of the StackExchange network.  I put in my requirements and the specs of the machine as far as I knew, and posed my very simple question:

I got quite a lot of answers.  Some were more helpful than others, of course, and somehow the one that got the most upvotes was entirely based on how I really could have a GUI if I wanted.

I've seen more of this than makes sense to me, this thing with people assuming I secretly want a GUI but just don't believe in my machine enough.  I commented on the post pretty quickly that I specifically asked for no GUI, but it still got a bunch of upvotes.

Of course, I get to accept whatever answer I like, and so I started with the one that looked most painless - a suggestion of FreeBSD.  I figured if it didn't work I'd try ArchLinux next, if my machine could handle it, or Gentoo, or whatever else was suggested by the fine and helpful people of the StackExchange (which is a thousand times better than a forum for actually getting questions answered).

I went through the process of downloading the big installation of FreeBSD - dvd1 - which would include all the documentation and a bunch of packages besides the OS itself, as well as a small installation (disc1) with just the OS and docs.  Knowing the Fossil has no network card and being uncertain if I'd ever be able to connect it to the 'net, I wanted to install as much as would fit right off the bat.  I burned dvd1 to a DVD, booted up, and inserted the DVD into the CD drive.

Windows 95 booted.

Well, okay, that makes sense, I just needed to change the boot order.  So I rebooted, went into the BIOS, and put the CD drive first.  And...go!

Windows 95 booted.

Maybe I didn't put the DVD in fast enough.  I rebooted again.

Windows 95 booted.

The CD drive literally only reads CDs, not DVDs.  "It's red lasers!  What's the difference!?" I complained to someone I know, who laughed and said "We're young," clearly indicating that we expect things to work that once did not.

Fine.  Minimal installation from a CD it is.  And this time it worked, and installed fairly painlessly, and has no GUI by default.  I haven't run into any problems yet, except that the only text editor is vi - which sounds a lot worse that it really is.  I don't hate vi.  So I count this as a win.

Thank you, timmmay, for your perfect and simple answer, and to Sardathrion for clarifying which of timmmay's suggestions to take.  Of course, now that I have FreeBSD, what do I DO with the thing?  That shall be answered in near-future posts.

Friday, August 24, 2012

The Fossil Project, Part I: First Computer Disassembly/Re-Assembly Experience

Hello, all.  It's been a while.  I've been working on a new pet project to learn some things about computers that I didn't know before, so I'll have plenty of blog posts in the near future relating to that.  This is the first one.

It begins with a machine.  Specifically, this is the computer I used as a kid to play games like Ping & Kooky's Cuckoo Zoo and Richard Scarry's Busytown, and my father used it for whatever mundane things people did with computers that didn't connect to the Internet.  I think it had some kind of extremely basic CAD software and Microsoft Office.  Parts of it are probably fifteen years old (or more), but it's been upgraded over time to have a zippy 133MHz processor, and it ran Windows 95 pretty okay.  I'm past-tensing the software because now it's running FreeBSD, but that's a story for another time.

Anyway, I was a counselor for my church's Youth Camp this year, and I needed to choose a topic for my teach-me group.  Every year there are several little four-day classes that the youth get to attend during the week, and for my first couple of years as counselor I did jewelry making.  This year, for various reasons, all kinds of possibilities were opened up to me.  Comic-book drawing and objected-oriented programming for junior highers were high on my list until I got an email asking me to do the junior high counterpart to the new senior high class on disassembling computers.  I'd never disassembled a computer before, so of course I said yes.

For reasons fairly beyond my control it ended up getting canceled (and I ended up assisting with archery), but this was the beginning of the Fossil's resurrection.  My dad decided he was officially finished with this computer and that I could allow junior highers to pull it apart if I wanted, so a couple of days before leaving for Youth Camp I began the process of learning to disassemble and re-assemble a computer.  Thank God my dad helped me or it would probably still be in pieces on the kitchen table.  Here's the saga as I tracked it with pencil and paper in real-time on 31 May and 1 June, 2012 (with minimal corrections to grammar and the like).  Several bits of information are missing because I forgot to write them down, but you get the idea.

Day 1

20:42 - Il commence!
21:07 - I should have made notes about what ATA cords go where.  I just wanted these stupid ribbons out of the way (this computer is way pre-SATA) but I'm going to be upset by the time reassembly begins.
21:14 - Power supply plugs into the motherboard via two separate plugs that look the same except for the colors of the cables.  I hope I don't fry it on reassembly.
21:25 - Just removed the tape drive.  Tape drive.  Tape.  Drive.
21:32 - The guy who designed the end of the cord that connects the CD drive to the motherboard should be punched in the head.  It's nigh impossible to unplug it from the motherboard because you have to squeeze it from the front and back instead of the sides.  With a pair of needle-nose pliers.
21:43 - The floppy drive...oh, you're laughing.  I'll wait.  Yes, the floppy drive's card is connected to it by a jack that has a tab on the bottom of it.  It must be pushed down with a flathead screwdriver.
22:08 - I let a How I Met Your Mother rerun distract me, but I am now removing expansion cards.  I lack an antistatic wrist strap so I'm touching grounded metal like a superstitious person.
22:19 - There is a dead spider in the case and I think I can remove it using toothpicks as chopsticks.
22:22 - OH DEAR LINUS IT'S ALIVE no, I'm just kidding, it's all dead and crunchy.
22:29 - Onto the RAM.  Two sticks are different from the other two and they don't alternate.  I don't understand.
22:45 - Ohhh the CPU is under the fan.  On a side note, I was expecting to see a chipset with a northbridge and southbridge and basically nothing looks like the layout shown in the PC Builder's Bible from 2008.  My dad was sort of helping - answering questions - but now he's watching King of Queens and I'm flying fairly solo.
23:07 - I'ma just leave the motherboard right where it is.  Commence reassembly!
23:54 - Cards are in properly, I hope.  RAM is in.  Floppy drive is in, but I can't say I'm going to test it.
0:56 - I'm actually guessing where things go at this point.  I should have taken better photos of the ribbons.
2:02 - Giving up for the night.  Somehow 5 drives were connected in here.  I think.  Maybe one wasn't.

Day 2

20:46 - Il commence - deux!
20:58 - Mysteries of unconnected cords - solved!  Between my dad and I we figured it out.  I think.  We'll test it shortly.
21:13 - Moment of truth.
21:15 - Oh eff.
[We turned it on and literally nothing happened. At this point I received a phone call from someone at church.]
21:17 - ahahaha the teach me group is canceled.
21:22 - Oh an idiot, the power supply was plugged in incorrectly (off by a pin).  Now it turns on, but the hard drive won't talk.
21:34 - Drives now spinning (ribbon was backwards in motherboard) but nothing on screen.
21:49 - Got distracted by Santana's no-hitter - first in Mets history!
22:06 - Unplugged all the drives except for one hard drive, and the BIOS finally works properly.  Wish the C drive were labeled.
22:18 - Starting Windows 95!
22:24 - The motherboard is racist.  White is master, black is slave.  I will always remember this.
22:38 - Plugged in the other drives.  No BIOS.  Come on!
22:43 - Unplugged tape and CD drives.  Works.  Next!
22:47 - Tape drive != problem.  Must be CD drive.  But why!?
22:49 - Oh cool, my hands smell like ATA ribbons.
22:52 - Ah yes, plug in CD drive -> BIOS turns into the robot from the Asimov story "Runaround."  Or maybe that's us.  Maybe the CD drive was the issue the entire time.  We will die on Mercury's surface.
22:57 - The CD-ROM drive's ribbon goes in backwards relative to the hard drive ribbon, which is right next to it.  Powell and Donovan.  That's us.  Except less intelligent.  On the plus side, I didn't kill any components!  Mission accomplished.

Monday, April 9, 2012


Pygmalion built himself a girl
and perfect in all ways was she,
with shapely silent marble lips
and eyes that gazed on only he.
A goddess saw the sculptor's heart
and as a gift brought breath to her,
but it could not have been too long
before he knew what he'd prefer.
For Galatea had been his,
the only woman he could own -
the only woman he could love
was but a woman built from stone.
The woman had a mind and thoughts
and she could speak them as she pleased.
Her hands could touch the things she liked
and now her feet could walk with ease.
Pygmalion feared she'd walk away
and leave him if she had the chance -
for certainly, if she were free,
she would not choose him for romance.
No other mind had chosen him,
no one could love this sculptor's soul.
He thought to chain her if he could
and keep her thus in his control.
But over time he learned to love
and learned to trust his marble bride,
for they did quarrel now and then
but never did she leave his side.
Through freedom Galatea loved
but her Pygmalion could not own
yet when she was his to possess
her very heart was only stone.