Somebody posted a review of my iPhone game, Word Up!, on YouTube.
16457 items (10785 unread) in 27 feeds
ComputerTechnology
(5306 unread)
RantsandRamblings
(4204 unread)
Somebody posted a review of my iPhone game, Word Up!, on YouTube.
As you all probably know, I’ve written a word game for the iPhone called Word Up!
<shameless-plug>

![]()
</shameless-plug>
Tonight, I started getting an error while trying to run my app from Xcode on my device (provisioned for development). The error was:
Your mobile device has encountered an unexpected error (0xE8000001)
during the install phase: Copying file.
Try disconnecting and powering off the device; then power the device
on and reconnect it.
I tried resetting the device a number of times and rebooting my MBP as well to no avail. It was beginning to look like I was going to have to do the dreaded restore and then lose all the cool jailbreak stuff that I’ve become so accustomed to. And then that made me remember that because my device is jailbroken, I can ssh to it and poke around. I wondered if a previous failed copy left some garbage on the device that was causing subsequent copies to fail.
iPhone:/ root# find . -name 'Word Up*' ./private/var/mobile/Media/PublicStaging/Word Up!.app iPhone:/ root# cd /var/mobile/Media/PublicStaging/ iPhone:/var/mobile/Media/PublicStaging root# rm -rf Word\ Up\!.app/
Bingo. That fixed it. So if you hit this problem and you happen to have access to the filesystem of the device, give it a shot.
McCain apparently has a pervasive campaign where he’s managed to somehow get his name on tons of street-crossing button thingies in Sunnyvale, California.
Look closely at the picture below. “McCain” appears in two places.
“Push Button For McCain” these things read and if pushing these buttons does indeed register votes for McCain, then forget about ACORN - this would be an unprecedented level of voter fraud.
Could be more aptly named “The San Francisco Museum of Crowds and Waiting”.
I’ve been here for an hour and a half and have so far only had a $35 lunch for two, waited in several lines (several for lunch and currently in one for a rainforest thingy), found out the planetarium is sold out for the rest of the day, and wrote a cranky blog post on my iPhone while waiting in line.
No, not this one.
Republicans have to stop saying that Hollywood is the worst thing in America - until they can stop saying that Ronald Reagan is the best thing that ever happened to America.
Just noticed that DreamHost is offering an incredible deal for today only to celebrate their 11th birthday. From their site:
The first 1,111 new customers (Update: less than 30 remain!)
to sign up with DreamHost today will get UNLIMITED resources, both disk space and bandwidth, for the life of their hosting with us.
Yesterday, we had Zerorez come out and clean the carpet in our living room/dining room, office, and stairs. I had heard their commercials on KGO-AM-810 (Gene Burns does their spots often) and we were intrigued by their purported zero-residue cleaning method.
Everything looks very clean. We are especially happy that they got out a bunch of stains in the office that seem to have come from the casters on our office chair (today, we went to Staples and bought a chairmat to hopefully prevent that in the future).
They told us they could not clean an orange stain in the corner of the living room and I am not surprised. That came from me going a bit overboard a few months back with that spray can foam insulation stuff. I was trying to seal some little gaps that I thought were a little drafty and I underestimated the ability of this foam to expand an incredible amount and then attach itself to carpet fibers and then achieve diamond-like hardness. At the time, I tried various carpet cleaners and scrubbed until my arms were tired - I tried just about everything short of a flame thrower I think. So while it would’ve been nice if Zerorez were able to steam that bitch out, I’m not too surprised that they couldn’t and I give them credit for fessing up to it in the debriefing.
So we were pretty pleased with Zerorez.
Well, my Coastal Electronic Technologies Basic Lockpick 3 arrived today and I have to say that the experience has turned out to be much better than I had feared.
First off, if you’re not familiar with this device, it’s a $99 device that unlocks various features of the Denso navigation units while in motion, in various Toyota and Lexus vehicles. These units have an annoying feature that they monitor your speed and they refuse to allow you to do various operations while the vehicle is in motion. This is ostensibly a safety feature to prevent drivers from getting distracted, but it’s also tremendously short-sighted as it completely ignores the fact that a passenger may want to use the unit. Not having destination entry is particularly annoying. The fact is I’m with my wife most of the time that I’m driving the car. The main time I drive alone is for commuting to work and in that case I know where I’m going and don’t need navigation assistance. The navigation unit is most useful when we’re somewhere unfamiliar, like on vacation, and it’s a pain in the butt to not be able to enter a destination while in motion.
So I’ve long wanted to try the Lockpick 3, but I had some trepidation and resisted it for a while.
Why? Well, my research online seemed to indicate that Coastal tended to take a very long time to ship items and that their customer service was very unresponsive. Their web site certainly does not inspire confidence, as it looks very amateurish and not often updated. Recently, I had read about folks having some better experiences and I am tired of not having destination entry while in motion in my 2008 Prius.
Well I didn’t really try to utilize Coastal’s customer service, but they did ship the device promptly. I ordered the device on Sept. 16, got a UPS tracking number on Sept. 17, and received the device today, Sept. 25 via UPS Ground. Not bad at all.
The device came in simple packaging and the box also had instructions and a small bag of Jelly Bellies. The instructions looked simpler than I had imagined and so I went ahead and had at it.
It was easy. The nav unit in my Toyota Prius 2008 is under the driver’s seat. I grabbed a flashlight and pushed the seat back and removed the connector to the nav unit, pressing down a bit on the tab on top of the connector so that it slid out. Then plug that connector into one end of the Lockpick and plug the other end of the Lockpick into the nav unit. Start up the car and wait about 20 seconds for the nav unit to reload firmware. Then I went for a drive and noted that the destination entry screen has a new pin icon in the top left. By default, destination entry is still grayed out while in motion but pressing and holding the pin icon for a second or two causes the destination entry to unlock. After you’re done entering a destination, it automatically locks again. This is actually an important feature, because the Lockpick works by making the nav unit think that the vehicle’s speed is zero. The nav unit uses a combination of GPS and that vehicle’s speed to determine position. So when the Lockpick is unlocking, the nav unit is not getting the proper speed input and so the nav unit’s impression of where you are drifts off. After destination entry is complete, the nav unit now gets the proper speed and it takes a minute or two for the nav unit to get its bearings. At some point, the nav unit showed me on the map as essentially driving through the bike trail around the corner from us (an all-green area on the map)! It took the nav unit a minute or two to get the right location. I hope that this doesn’t turn out to be too big of a problem in practice.
So all in all, I’m pretty pleased.
It took 9 days for Apple to approve it, but now my Word Up! iPhone word game is available on the iPhone App Store.
If you like the app and would like to write a review about it, that would be much appreciated.
Screenshots


You can now grab OS X 10.5.5 from Software Update.
What does it have? From [support.apple.com]:
General
It’s nice not having a job.
I quit VMware. Not my cup of tea.
People ask me what my new job is. I answer that I don’t know and people react with either horror or an envious smile. The fact is, it’s a pain to interview while you’re at another job. And you don’t have much time to devote to your job search - one of the most life-impacting decisions you can make.
And besides, there is an abundance of jobs out there right now.
The only problem is that I had hoped that not working would be relaxing and so far it’s been too full for my taste with interviews and phone calls. I’m getting a little wary of talking about my history and wanting to look ahead to the future.
Finally got around to installing the 2.11 update released in December. The coolest new addition is the instant messaging application which allows you to connect to Yahoo, AOL, and Microsoft IM networks.
I haven’t played with it enough to come to any conclusion on whether stability is any better (my phone often reboots when I answer it!) or if the Web browser is any smarter (it doesn’t seem to be very good about using its cache).
Spotted at [www.holub.com]:
“Excessive or irrational schedules are probably the single most destructive influence in all of software.”
-Caspers Jones
Today’s Python discovery:
Python doesn’t have the C style ?: ternary operator (e.g.: cond ? valueIfTrue : valueIfFalse).
But as of Python 2.5 it has a ternary operator with its own syntax: value_when_true if condition else value_when_false
For example:
>>> 'a' if 1 == 1 else 'b' 'a' >>> 'a' if 1 == 0 else 'b' 'b'
This is actually clearer and more Pythonic than that ?:
Unfortunately, for Python versions < 2.5, you don’t have this. I’ve seen people use: (condition and [value_when_true] or [value_when_false])[0]
IMHO, this is clever - in a bad way. Yuck. Personally, I think I’d rather just do:
def if_cond_val1_else_val2(cond, val1, val2): if cond: return val1 else: return val2
This adds 3 lines to your program (or 1 if you stick it in a module that you import from your programs) and won’t cause your colleagues to hate you.
A recent B of A commercial has a female acoustic singer/songwriter song, which sounds very similar to Shawn Colvin to me, but alas, it’s not Shawn Colvin.
It’s “Merry-Go-Round” by Antje Duvekot
I wonder if the manufacturers of this have heard of the term “pole smoking“:
MacBook Pro EFI Firmware Update 1.5.1 just popped up in Software Update:
After installing and rebooting:
I saw BZFlag on freshmeat tonight and decided to give it a try. Wow, total bloodbath. Kind of a fun game but would be more fun if I could routinely last for more than 10 seconds and maybe have a positive score.
This blog is now running WordPress 2.5. Haven’t played with it too much. First impression, the new look of the admin screen is pretty ugly to me.
Lately, Quicksilver has been quietly dying very often and I’m constantly restarting it. I suppose I should try reinstalling and/or deleting my preferences, but before I do that, I was wondering if anyone else was seeing this.
Interestingly, I’ve also noticed that the “check for updates” functionality always fails to connect to the server. I’ve wondered if this and the crash are related (e.g.: Quicksilver dying when it attempts to do an automatic check), but that’s just pure speculation.
Here’s a snippet from the last crash log that got dumpd in ~/Library/Logs/CrashReporter
Process: Quicksilver [1566] Path: /Applications/Quicksilver.app/Contents/MacOS/Quicksilver Identifier: com.blacktree.Quicksilver Version: β53 (3814) Code Type: X86 (Native) Parent Process: launchd [87] Date/Time: 2008-04-01 11:27:29.302 -0700 OS Version: Mac OS X 10.5.2 (9C7010) Report Version: 6 Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0×0000000000000000 Crashed Thread: 4
There’s been sporadic crime in our area. We decided to add a monitoring service to our existing alarm equipment for $31/month.
My Apogee Duet Firewire audio interface arrived.
Thoughts:
While following the exercise “Creating Blue Apple Loops” on page 262 of “Logic Pro 8 and Logic Express 8″ by David Nahmani, I was running into some trouble.
1. Open Logic project file: “07 New Day”.
2. Drag the Marquee tool (Command-click tool) over the High Arpeggio region from bar 5 to bar 7. Verify that before releasing the mouse button, the help tag reads “5 1 1 1 7 1 1 1″, indicating that Marquee selection goes from bar 5 to bar 7 and is thus 2 bars in length.
3. Click the Marquee selection with the Pointer tool to create a new region that should be exactly 2 bars in length.
4. In the Arrange area’s local menu bar, choose Region > Add to Apple Loops Library.
Expected Results:
The dialog should offer the choice of “Loop” or “One-shot”.
Actual Results:
The choice of “Loop” or “One-shot” is grayed out.
According to the book and [docs.info.apple.com], this graying out is a symptom of having a region that is not a whole number of bars in length, but this region seems to be exactly 2 bars in length as far as I can tell.
I posted about this on the Logic Pro Help forums (run by Mr. Nahmani; not Apple) and Mr. Nahmani kindly pointed me to an earlier thread that explains the problem and how to work around it. Basically, the bug is that the help tag is indicating that the region is 2 bars in length, when in fact, it’s actually a bit shorter. The remedy is to tweak the region a bit to make it shorter and then to make it exactly 2 bars in length.
I hope this helps other folks who run into this problem. And I hope Apple fixes this bug.
I had been working through the exercises in “Logic Pro 8 and Logic Express 8″ by David Nahmani lately, mostly while on the shuttle bus to and from work (and yesterday on the VTA light rail on the way to SD West). I completed the last lesson last night, which involved adding music and sound effects to a video.
The book is excellent and I learned a lot about using Logic from it. Now that I’m done with this book, I’m going to buy “Logic Pro 8: Beyond the Basics” by David Dvorin and work through that.
While on the topic of Logic, I should mention that the author of the book, David Nahmani, has some nice Logic forums at [www.logicprohelp.com]
This week I’m at SD West 2008. I’m hoping to learn a few things about C++, especially C++0x and Boost.
My wife was watching an Oprah show about this so I looked it upon on good ol’ Wikipedia.
Wow, these people make vegans look like ultra-right-wingers.
Dumpster diving - freegan awesome.
I think I’m going to buy the Apogee Duet as my Firewire audio interface:
I’m going to try to use a 10% off code from GuitarCenter.com even though Apogee doesn’t seem to be on the allowed brands list:
You had me at “security fixes”.
svn switch http://svn.automattic.com/wordpress/tags/2.3.2
A snippet from the latest freshmeat.net announcement of Perl 5.10 that landed in my email inbox:
This version includes a new smart match operator, a switch statement,
the // defined-or operator, regular expression improvements, and
other language changes…
Funny, I was just thinking that what Perl needs most is more operators… ![]()
I have a MacBook Pro and the keyboard unresponsiveness bug is pretty annoying.
Just noticed that a new update from Apple popped up in the Software Update tool:
Crossing my fingers…
The day before yesterday I finished reading “Practical Perforce” (by Laura Wingerd, from O’Reilly books). I liked it more than I thought I would. My first impressions of Perforce, hadn’t been that favorable, mostly because of its unusual paradigm of keeping track of client workspaces, which can lead to a lot of unintuitive behavior. Reading the book helped solidify my understanding of Perforce’s view of the world and demonstrated that Perforce can be a very powerful tool. For sure there are warts, like the sometimes strange syntax of the p4 integrate command and a section that was downright humorous, showing how simple it is to back out a change, using 7 commands piped through various sed filters (in fairness, backing out changes in CVS is also complicated and actually much worse because CVS doesn’t have changelists - I wonder if any version control system has bothered to actually make the simplest of tasks actually simple. At work we have a p4 wrapper command, written in Perl, that adds a backout command, but I wonder why Perforce doesn’t build this simple feature in?).
The best part of the book for me was the later chapters, where the book describes the bigger picture of managing branches in shrink-wrap and Web development software shops. A lot of the material in these last few chapters is about general SCM and branching methodology and is largely independent of what version control system you’re using, though naturally this book concentrates on the application of this methodology with Perforce.
I mentioned a few days ago that my Asus S-presso PC quit working.
Last night, I opened up and did a bit of surgery in a failed attempt to revive it. I had been thinking that the power supply died, since none of the fans spin up. However, when I opened it up, I could see that the Power LED on the motherboard lights up when the power supply is plugged in. So the power supply is not completely dead, though it’s still possible that it’s not supplying all of the various voltages that a modern PC needs. Or it could be that the power supply is fine and the motherboard is the culprit. I unplugged and reseated various connections including the two connections from the power supply to the motherboard and I also pulled the massive CPU heat sink/fan off and made sure that the Pentium 4 processor wasn’t a molten mass of silicon before cleaning up tons of dust in the fan and heat sink and reinstalling it. No fried processors or capacitors that I could see or smell, so I put it back together and stuck it in the garage for the time being.
My thought is that I may not even need this little Linux PC anymore, since I have:
So my thought is that there’s not too much point in trying too hard to resurrect this little Linux box or buying a new rig to replace it. In fact, by not having this box, I could save a bit of electricity and improve aesthetics by getting rid of the long, ugly Ethernet cable that is running around the room (never got around to running it under the carpet). So perhaps I’ll just sell this PC for parts.
To SSH (OpenSSH) through an HTTP proxy, you can use the ProxyCommand config option with one of several programs that know how to talk to an HTTP proxy using the HTTP CONNECT method. The one I use is called corkscrew and it works equally well on Linux and Cygwin.
Something like this will do the trick to let you connect through an HTTP proxy to a home server that has an sshd running on port 1234.
Host home User marc HostName dns.home.org Port 1234 ServerAliveInterval 30 ProxyCommand /usr/bin/corkscrew proxy.corporation.com 3128 %h %p
Once you have one host that you can connect to through the proxy, you can even use that host to get to other hosts.
Host webhost User marc HostName dns.webhost.com ServerAliveInterval 30 ProxyCommand /usr/bin/ssh home nc -w 600 %h %p
By default on my Leopard system, the dbhash and bsddb Python modules cannot be loaded.
marc@hyperion:~$ python
Python 2.5.1 (r251:54863, Oct 5 2007, 21:08:09)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import dbhash
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.5
/lib/python2.5/dbhash.py", line 5, in <module>
import bsddb
File "/System/Library/Frameworks/Python.framework/Versions/2.5
/lib/python2.5/bsddb/__init__.py", line 51, in <module>
import _bsddb
ImportError: No module named _bsddb
I managed to get it to work though by installing bsddb3 from the pybsddb site and hacking the file /System/Library/Frameworks/Python.framework/Versions/2.5:
marc@hyperion:~$ diff -u dbhash.py.orig dbhash.py
--- dbhash.py.orig 2007-11-28 10:16:33.000000000 -0800
+++ dbhash.py 2007-11-28 10:36:52.000000000 -0800
@@ -2,7 +2,7 @@
import sys
try:
- import bsddb
+ import bsddb3 as bsddb
except ImportError:
# prevent a second import of this module from spuriously succeeding
del sys.modules[__name__]
Here’s the patch.
Now it works:
marc@hyperion:~$ python Python 2.5.1 (r251:54863, Oct 5 2007, 21:08:09) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import dbhash >>> dir(dbhash) ['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'bsddb',
'error', 'open', 'sys']
Just found this little gem regarding read-only buffers in Emacs:
A buffer visiting a write-protected file is normally read-only. Here, the purpose is to inform the user that editing the buffer with the aim of saving it in the file may be futile or undesirable. The user who wants to change the buffer text despite this can do so after clearing the read-only flag with C-x C-q.
This is cool, because Perforce makes files read-only by default (to encourage you to open them before you edit them, though you can do this after the fact if you’re careful) and because I’ve been making the files for my web site read-only as a small measure to deter site defacement. I had been using vim for editing my web site files because w! can write to read-only files, but now it looks like I have a convenient way to use Emacs as well.
I take a shuttle bus to work every day that I can.
Today our bus broke down right by the interchange between highways 85 and 280. Luckily another bus was nearby and was able to pick us up around 15 minutes later or so.
The buses seem to have a pretty fair amount of mechanical problems. Not too long ago, another bus breakdown made the bus more than 30 minutes late to pick us up at the light rail station and we all took our cars that day. A few weeks before that, there was a mechanical problem with the bus just after it picked us up and we had to wait for another bus to come out.
So that’s at least 3 mechanical problems there and I’ve only been working here since early August.
The bus works well most of the time, though, and is very convenient when it does.
A few nights ago I finished reading The Rise of Endymion and thus, the entire 4-book Hyperion series.
That’s a lot of pages and if that scares you, then I might suggest reading only the first two books. The first two books comprise one cohesive story and the second two books comprise another story which is related to the story in the first two books, but largely independent and different (the events of the second two books occur hundreds of years after the events in the first two books and with mostly different characters). The first two books were more enjoyable to me then the latter two (and also shorter!). This is not to stay that the latter two books were not enjoyable - they are. However, if you read them looking for answers to the mysteries in the earlier books, you might be disappointed in the end. In fact, some earlier explanations get a bit muddier and there are some new mysteries, some which are explained well and others which aren’t. In particular, the origins of the enigmatic Shrike seem a bit different in the latter two books and never get satisfactorily explained, IMHO. Also, the first two books are more pure science fiction, whereas the latter two get a lot more into mysticism and “quantum love” and a sort of sci-fi spin on some of the ideas of Buddhism. Some elements of the first two books like an oft-mentioned future war between deities get ignored. I did still enjoy the latter two books, so if you have the time, go ahead and read all four books.
| Book | # of pages (paperback) |
|---|---|
| Hyperion | 512 |
| The Fall of Hyperion | 528 |
| Endymion | 576 |
| The Rise of Endymion | 720 |
My little Asus S-presso small-form-factor PC that was running Ubuntu is dead.
Fans don’t even spin when I try to power it up. I suspect that the power supply burned out.
Today was a legal sort of day. I had to report for jury duty and spend the afternoon in a courtroom for jury selection. Then this evening, I completed online traffic school for a speeding ticket that I got in September.
Incidentally, jury duty is not over. I have to report to the courthouse again tomorrow at 8:30 am for continued jury selection.
A few of us have been getting together on occasion to watch the sci-fi show The 4400 (on DVDs from Netflix). It doesn’t seem to be a hugely popular show, but it’s actually quite good. It’s the tale of what happens when 4400 people who disappeared over the course of several decades suddenly reappear together in a field, delivered by a mysterious ball of light. The 4400 haven’t aged a day, are totally unaware of where they’ve been, and are beginning to show interesting abilities (a la Heroes).
Last night, Nicole and I fired up our new popcorn popper for the first time and watched the last episode of Season Two (and a few special features on the single DVD for that episode). It did not disappoint - some good cliffhangers. Looking forward to Season 3…
On OS X, taking a screenshot is not as easy as pressing PrtScn (Print Screen). Well it’s easy to do, but it’s not easy to remember and thus I present these shortcut keys from O’Reilly’s Mac OS X Screenshot Secrets:
| Key Combination | Result |
|---|---|
| Command+Shift+3 | Capture entire screen and save as a file |
| Command+Control+Shift+3 | Capture entire screen and copy to the clipboard |
| Command+Shift+4 | Capture dragged area and save as a file |
| Command+Control+Shift+4 | Capture dragged area and copy to the clipboard |
| Command+Shift+4 then Space bar | Capture a window, menu, desktop icon, or the menu bar and save as a file |
| Command+Control+Shift+4 then Space bar | Capture a window, menu, desktop icon, or the menu bar and copy to the clipboard |
Just added these to my Mac OS X Switch Guide page, which has various OS X tips, especially suited for new converts from the world of Windows.
The previously mentioned Ubuntu repository problem seems to have resolved itself. I am finally able to upgrade my Samba packages.
This has been happening all day every time I attempt to do apt-get dist-upgrade:
The following packages will be upgraded: libsmbclient samba samba-common smbclient smbfs 5 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 11.0MB of archives. After unpacking 4096B will be used. Do you want to continue? [Y/n/?] Writing extended state information... Done Err http://security.ubuntu.com feisty-security/main smbfs 3.0.24-2ubuntu1.3 403 Forbidden Err http://security.ubuntu.com feisty-security/main smbclient 3.0.24-2ubuntu1.3 403 Forbidden Err http://security.ubuntu.com feisty-security/main samba 3.0.24-2ubuntu1.3 403 Forbidden Err http://security.ubuntu.com feisty-security/main samba-common 3.0.24-2ubuntu1.3 403 Forbidden Err http://security.ubuntu.com feisty-security/main libsmbclient 3.0.24-2ubuntu1.3 403 Forbidden E: Failed to fetch
http://security.ubuntu.com/ubuntu/pool/main/s/samba/smbfs_3.0.24-2ubuntu1.3_i386.deb:
403 Forbidden
This is the “bookcase” that was issued to me (and many of my colleagues) at work.
As you can see, it’s not very practical, especially with the height of the shelves, which makes it impossible to fully utilize the space without resorting to stacking and the overall height makes it too tall to fit under my standard-issue cubicle desk, pretty much forcing it to be in the one particular spot where it partially blocks my whiteboard.
In general, the new building and the cubicles are very nice, but the bookcases I think missed the mark.
My new MacBook Pro arrived yesterday. I expected that it was going to come with Leopard pre-installed, but instead it came with Tiger and a Leopard DVD. Perhaps this is better in case there are enough bugs and incompatibilities, that I’d rather use Tiger until Leopard matures a bit. I have installed Leopard and haven’t played with any of the new features like Spaces or Time Machine, but I have run into a minor problem or two with X11.app.
Back in May, I read Hyperion, the first book in a renowned 4-part sci-fi series from Dan Simmons (official site).
This weekend, I finished The Fall of Hyperion. This book continues the story of the Shrike pilgrims from the first book and a few other characters, including the John Keats cybrid, as the interstellar war escalates and the universe goes to hell in a handbasket.
This book doesn’t have the pilgrim stories of the first; it’s more linear, if you can call it that. There are lots of parallel stories, farcasting, worlds within worlds, and time travel to make it plenty interesting. Most of the mysteries of the first book get explained though some of the explanations are so mind-bending, that you will probably have a bunch of new questions. Luckily, there are two more books…
Speaking of the other two books, not wanting to forget too much and lose momentum, I picked up the next book in the series, Endymion, at a book store in Santa Cruz today. I already have the fourth book, The Rise of Endymion, as a friend of mine dug his hardcover version out of his garage and lent it to me.
Interestingly, I noticed that Dan Simmons has a web site and he mentions that a movie is in the works:
Yes, Virginia, there is a Hyperion movie in the works. It has been optioned by a top-notch studio, is slated to be directed by a top-name director, and already has the involvement of a top-flight movie star. Screenwriters have been attached to the project and a first draft screenplay is expected soon.
I’m looking forward to that!