fogbound.net




Wed, 3 Jan 2007

Software: is it too much to ask?

— SjG @ 2:22 pm

OK. Entrepreneurs, read up. I’m gonna give you some ideas that’ll make you rich.

Start my ranting:

1. Can I really be the only person who wants to share Thunderbird/Seamonkey address books with a spouse? I mean, how hard can it be?

What I’d like:

  • Each of our “Personal Address Book” collections show up as a list on one another’s address books as a list (e.g., mine shows up on my wife’s machine as “Samuel’s Address Book”. It could use the machine name instead, if it’s easier).
  • We can see one another’s mailing lists in our address books
  • Manual sync is fine — automatic would be even better
  • Simplistic merging is OK, so long as there’s a way to resolve conflicts
  • Ability to mark lists as private or shared

2. Can I really be the only person who wants to share a checkbook program with a spouse? I mean, how hard can it be?

What I’d like:

  • Ability to enter checks / charges / deposits into a common account register
  • Ability for either person to perform reconciliation
  • Ability to have accounts that are not shared

3. Can I really be the only person who wants to have an intelligent, revision-capable backup script that doesn’t require shell on the destination end? I mean, how hard can it be?

What I’d like:

  • rdiff-backup, only permitting an ftp-based push of the backup file.

More to come, as I experience more outrage.


Fri, 29 Dec 2006

eAccelerator Weirdness

— SjG @ 4:52 pm

I’ve been busy setting up a new hosting environment for a bunch of static HTML and PHP-based web sites on a Go Daddy Virtual Server. It was going swimmingly, until I came to an old CMS Made Simple site (running 0.10.x), which merely returned blank pages. Newer versions of CMS Made Simple ran fine. I could find nothing in the virtual host’s web error logs, the php log, the mysql error logs, the eaccelerator error logs, or any other system logs — except in the main Apache error log, there was:

child pid XXXXX exit signal Segmentation fault (11)

Searching around, this looks like it could be some kind of threading issue; however, I’m following the recommendations and using the Apache 2 prefork MPM.

Eventually, the (weak) solution I came up with is to turn off eaccelerator for that virtual host. This remedies the situation, although I can’t say it makes me very happy, since I don’t understand exactly what’s going on (or what the problem is).

I’d welcome insight into this.

Details: Fedora Core 4, Apache/2.0.54 (Fedora), PHP 5.0.4, eAccelerator 0.9.5.


Thu, 28 Dec 2006

Who Controls the Internet?: Illusions of a Borderless World

— SjG @ 12:30 pm

by Jack Goldsmith and Tim Wu, Oxford University Press, 2006

This interesting three-part book describes the evolution of the Internet from an academic network governed by utopian techno-idealists into an increasingly partitioned collection of networks under the control of national governments. It also predicts that the future will continue in this direction of many localized nets.

The overall conclusion of the book is that this evolution is a (mostly) Good Thing[tm], as human beings can’t be trusted to conduct business without the treat of violence. The assumption that the purpose of the internet is to facilitate business is not really questioned. Of course, I’m oversimplifying their case. There is also discussion of the value of information, its relationship to proximity, and the desire to allow enforcement of local standards.

I remember many of the events described in the history — most notably, the transfer of the DNS Root and its aftermath — but can’t say I really appreciated their significance at the time. I do recall being impressed with the anarchic, cooperative culture of the early internet. The philosophy of the Cypherpunks (e.g., “information wants to be free”) is a compelling idea, except when it comes to my credit card number. John Gilmore’s famous saying that “the net interprets censorship as damage, and routes around it” is also a sentiment I still feel is powerful, but I fear that the mechanisms of censorship are getting ever more sophisticated. I also still have hope that ubiquitous communication can help humanity.

However, Wu and Goldsmith’s points are well made. I remember, in particular, believing in 1995 that the internet was going to connect everyone in the world, and promote an unprecedented era of communication and peace. After all, I was in communication with people all over the world using the internet (in English, of course). Then, in December of ’95, I embarked on a trip through Asia and the Middle-East. Something about these utopian beliefs kept nagging at the back of my mind as my travels progressed, and I met people in different countries and from different backgrounds. It wasn’t until months later, on a bus ride through the Sinai Peninsula, where from my window I could see Bedouins struggling against a mini-sandstorm that the realization broke through. Yes, these people and I share a common humanity — but then, that was about the limit of what we shared. If I were to visit with them, I could perhaps learn of their beliefs, culture, hopes, expectations, and so on. But simply tapping words into a keyboard from half a world away, such an exchange would be nearly impossible. How could I begin to understand their world without seeing, feeling, and smelling it?

Well, today, I have friends I have never personally met, throughout many nations that I have never visited. I chat with them, some daily, as I work on projects. I communicate with them mostly in English, a little bit in German, and even less in Spanish. Does this contradict my pessimism above? Well, yes and no. We have a common starting point (e.g., the projects), and, to be frank, relatively common culture: we are, for the most part, Europeans, Americans, Australians.

So maybe the internet is not the borderless world we once hoped for, but it’s also not (yet) the parochial collections of fiefdoms that it could become.


Sun, 22 Oct 2006

Reverse SSH tunnels in Mac OS X

— SjG @ 9:02 am

I’m one of the many people who will be using VNC to do remote assistance for a relative using Windows.

There are a number of tutorials out there. Most of them fail because they require the ability to VNC in to the remote system, which won’t work in my case because the remote Windows box is behind a firewall/router that I can’t configure. There are also several reverse approaches out there, where the user needing assistance initiates the connection. The first of these I say was Gina Trapani’s approach at Geek to Live, which uses UltraVNC on both ends. This is almost the solution I want, except that it requires Windows on my end as well. It also assumes that I’m at a fixed location.

In the comments, I came across Fazal Majid’s response. He had the same requirements as I do, and links to his source where he built a customized VNC server that targets a fixed IP address. Fazal’s approach matches my needs exactly.
But then I ran into the problem of the last step: the reverse SSH tunnel from my known server (which gets hard-coded into the executable) to my notebook running Chicken of the VNC.
Building reverse SSH tunnels is really not that difficult. But when I created the setup, I was able to make it work from a Linux machine and from a Cygwin terminal under Windows, but it mysteriously failed under Mac OS. Using lots of -v flags, I kept seeing the service for the port on the Mac side refusing the connection from the tunnel. The ssh debug looked like:

debug1: remote forward success for: listen 5900, connect localhost:5500
debug1: client_input_channel_open: ctype forwarded-tcpip rchan 2 win 131072 max 32768
debug1: client_request_forwarded_tcpip: listen localhost port 5900, originator ::1 port 60475
debug1: channel 0: new [::1]
debug1: confirm forwarded-tcpip
debug3: channel 0: waiting for connection
debug1: channel 0: not connected: Connection refused
debug2: channel 0: zombie
debug2: channel 0: garbage collecting
It turns out that this means the tunnel doesn’t even see the service. After wasting time with firewall tests and a lot of other false leads, I finally noticed the [::1] notation in there. Yup, that’s an IPv6 address. The solution is to make sure the ssh tunnel is using IPv4. For reference, the command that works is:

ssh -nNT4 -R 5500:localhost:5500 -l my_username myhost.com


Thu, 31 Aug 2006

Another Reason to Hate Microsoft

— SjG @ 3:00 pm

So a Windows Update breaks the ability to allocate big chunks fo contiguous memory (http://support.microsoft.com/kb/924054/), which causes this JBoss configuration to fail. Restarting summons the dreaded VM Error: Could not reserve enough space for object heap error message.

So Microsoft knows they broke stuff. They have a “hotfix” (which, despite the “hot” part of the name will require a reboot). But I can’t just download it. Nope. Gotta pay for a support contract.

Now, I don’t have a huge issue with a bug like this creeping into a Windows security update. Let’s face it, bugs happen. But to charge me to fix the problem, even after I paid for the OS? That’s just not right. Cast my vote for Free Software.