Reading, Lately

Here’s a list of a few of books I’ve read lately, since I don’t seem to have time at the moment to write much more about each:

A Fire Upon the Deep by Vernor Vinge: Sequel to A Deepness in the Sky, but written earlier (1992). Somehow the story isn’t quite as satisfying as the prequel, but many concepts are mind-blowing as usual. The Tines, Zones of Thought, the concept of Powers… I’m left with more questions than answers, but they’re thought-provoking questions. I’d call this more of a broad-spectrum sci-fi yarn than a true hard-s.f. novel, but it has aspects of both.

A Heartbreaking Work of Staggering Genius by Dave Eggers: Ah… I understand the point and why it got glowing reviews (at least according to the back cover, which doesn’t cover any detractors of course), but this book is a bit like Tuesdays with Morrie, not in subject matter of course, but by way of being a book which somehow appeals to popular audiences and suddenly becomes a “#1 New York Times Bestseller” without really being such an incredible or deserving literary work. Something which is popular because it’s popular. So all right, this wasn’t bad, but it doesn’t “speak to me” as they say, and it in no way shape or form deserves to be compared with The Catcher in the Rye. What ignorant fellow originally said that? Just because both books deal with teen angst, in completely different ways, from totally different perspectives? Well all right, fine. It’s an accurate slice of said angst, of immaturity struggling to be mature and to find and create meaning in meaningless aspects of the world, and so on. I found myself identifying with those camera guys who came to tape the interview between the author’s ‘zine’s staff and the MTV Real World cartoonist guy, nodding wisely and rolling their eyes while the kids tried to seem all important and pretend that their “business meeting” was anything other than a meaningless act, everyone trying to look good on camera. But then again, I was like that, to some degree, way back when. Or was I? I never watched MTV or tried to publish a magazine or represent myself as being a maker of culture or even much of a participant in the popular culture of the day. But in other respects? Maybe. Here’s a mini review I wrote as a series of text messages from the Las Vegas airport after finishing the book: “I understand the point and why it got good reviews, but it was too “angsty” and dragged in a lot of places… Like, was he really thinking that? OK sure, but there must have been more to what he was thinking, and it gets repetitive. For the last fifty pages I started skimming through most of the material. The author tries to be poetic, stream-of-consciousness-emitting. But a great deal of what he writes is about how he thinks a great deal about thinking, and what he should be thinking. And then he goes on to write about thinking about thinking about thinking about what he should be thinking, and why, and so on. Meta-thinking, to the nth degree.” Worrying about why he’s worrying. Ah, I just don’t identify. Are these thoughts and worries (perhaps ones everyone has, many of which rightly weigh heavily on the author’s mind, but many of which are just fleeting thoughts) truly solid material for repetitive exposition that goes on and on and on? There were some funny parts; the first half was good; it sort of went downhill from there. (I think this paragraph channels a little bit of the style of the book.) The story isn’t written in the style of a personal journal or memoir, isn’t written as a novel telling a story, isn’t even all that clever, so I’m not sure whom I (as a member of the audience) is supposed to be. A victim of overly intense and repetitive introspection?

Axiomatic by Greg Egan: Collection of short stories by the master of hard-s.f., although his position is being slowly usurped by Vernor Vinge. And I don’t find any of Egan’s books on bookstore shelves anymore, which is unfortunate. This set of tales really tries to bend the mind, and succeeds frequently.

Hmm, I guess I did write a decent amount about each. I should break these up into separate posts.

Time now for Harry Potter and the Concluding Volume. Somehow I’m not as excited about these books as others are. I think the movies had something to do with this lack of excitement. As well as the big deal it’s all supposed to be, and perhaps that this is an internal mechanism for avoiding personal after-hype let-down (but no, I wasn’t exactly counting down the days), or simply because it’s all so popular now, so mainstream, like iProducts. And the fact that J.K. Rowling is now a celebrity, and how her comments in response to the book having been leaked to the Internet prior to the official release date somehow lead me to read a bit of her personality (as I imagine it) into her writing — all because a few frustrated/upset/hostile comments regarding the book leak? I would have been a little more humble, a little more gracious, a little more… accepting… but definitely humble, in her place, I hope. I do subscribe a bit to the “plagiarism is the highest form of flattery” school of thought.

My comments on the fifth Potter movie (”Fifth”), clipped from an email:

About a third of the way through the movie I was thinking… wow, this one’s really “meaty”; it’s redeemed the movie series after the horrible Fourth. But after it was over though, I thought: yeah, it was good, but it still doesn’t by any means dethrone Third as being by far the best in the series. (Fifth is second place in my book, now…) Third had this characteristic effect where the camera zoomed through windows and clockwork pendulums; I remember exactly one scene from Fifth that had the same camera zoom effect through window glass, and that made me think, wait a second, do we have the same director here? I don’t think so, though. Anyway, my problem with Fourth especially (and to a lesser extent with Fifth) is that they try so hard to just tell the story literally as per the book that somehow the “magic” one imagines of the magical world is far less, on the screen, than in the mind’s eye while reading.
Reverse SSH Tunneling

I might not have fully appreciated the elegance of SSH until tonight, and the following illustrates how much the Internet is all just a bunch of pipes. It takes a bit of practice though to get used to thinking about “remote” and “local” when you’re logged into a remote machine, forwarding something “in reverse” back to yet another remote machine (which in this case is the original machine from which you connected to the remote machine, in the first place). Here’s an example, via a problem I ran into.

Problem: Working with a MySQL server inside a remote LAN, where the only access I have into the LAN is through Remote Desktop to a restricted account on a Windows Terminal Server. Typically it’s easy to work with a remote MySQL server because these are generally on a network which is also running an SSH server (e.g., most Web hosting services); in that case, I would SSH in with a port forward: map my local port 3307 to the remote port 3306 (remote meaning, the end of the pipe at the SSH server). Given that there’s no SSH allowed in, in the problem instance, how can I use the tools installed locally on my machine (Navicat, Administrator, Query Browser, ODBC connections, etc.) with the remote database?

Solution: Install an SSH server on my local machine (over which I have full control, of course), and run the simple no-install SSH client PuTTY inside the Remote Desktop session. Configure port forwarding in the remote PuTTY instance: map the remote port 3307 to the local port 3306 (remote meaning, now, the end of the pipe on my home computer). PuTTY calls this type of forward “remote”. Terminology-wise, it’s not really a “forward” as much as a “pull”, as in, once the connection is established, any data my computer tries to send through port 3307 gets grabbed by the remote SSH client (with my local SSH server’s cooperation) and pulled back to that machine. Works like a charm.

Using this technique I could get remote access to a computer at work, say, through a restrictive firewall. Let’s say I work at a huge company with lots of computers. Of course, my work computer would be inside a private network, with a private IP address — no way to contact it from the Internet at large. But that’s no problem! All I have to do is, while at work, establish an SSH connection using PuTTY to my home computer’s SSH server. In PuTTY, forward some remote port (let’s us 3388) to “localhost:3389” . Now I can go home, pull up Remote Desktop Connection, and connect to “localhost:3388” — I should now be inside my work computer.

The beauty of all this is that it seems to me it would be unblockable (unless a nanny-like website filter is in place, which filters all Internet traffic, and disallows encrypted (e.g., SSL or “https”) pages or just any content it doesn’t understand, or does more extensive traffic analysis). But in general if one can surf the Web while at work, then at least one can establish an outbound connection on port 80. If my home SSH server listens on 80, I can reach it from work, going outbound. Data going the other way, coming back in, generally is inbound Internet traffic, the response to my request — such as Web page data (HTML, CSS, etc.). In this case it’s reversed, though: from the point of view of my theoretical work computer, the outbound traffic is data that I’ve requested from home. The inbound traffic, instead of being Web pages and such, are my data requests. What’s thought of as the client becomes the server. Easy as cake, right? I wish I’d known how to do this ages ago.