Toaster or Lathe?

I keep hearing people complain about the usability of Linux as it compares to the usability of Windows or MacOS. The common complaint is that computers should be easy – even windows users complain that computers should “just work”. In response to this, I am asking my own question – do you want your computer to be a toaster or a lathe?

Toasters are easy. They do one thing – heat up slices of bread that you stick into them when you push the button. All you have to do is decide how much to heat things up, load your bread, push the button and wait. Very simple, very easy, and very limited. You can’t do much with a toaster other than what its designers anticipated. Ease of use — 10, Flexibility — 1.

A modern metal cutting lathe is an entirely different matter. It takes a great deal of training to accomplish anything but the simplest tasks, and even simple work requires understanding the work, the machine, and the underlying process on a fairly deep level. It takes years to learn to use one well. Even after a great deal of training, some users are still far more capable than others. Ease of use — 1 Flexibility — 10.

Modern computers are diverging right now. One one end, products like Amazon’s Kindle, Apple’s IPad and Barnes and Noble’s Nook are heading in the direction of toasters. They’re simpler and easier to use. They are also locked down and limited. One the other end are netbooks, Google’s Android platform and other similar tools. These are unlocked, a bit more difficult to use, and endlessly flexible.

Underneath the skin, these are all “general purpose computers”. Some say that locking something like the IPad down as much as it is is a bad decision. I disagree. Today’s computing ecosystem has room for both lathes and toasters. I think it always will. There will always be a group of people who are more comfortable with single use devices for some jobs. There will always be others who find them too limited and/or confining. This is officially OK. There’s more than one way to be human.

Time off from politics

I just finished taking a long time off from politics. It wasn’t a complete break, but it was fairly close. I did work for the Obama campaign a little bit, but that was really the exception that proved the rule…

This period coincided with a series of very large changes in my life. My health is better, I have moved into my own home, and I’m fixing it up. I’ve been spending more time outdoors, and studying Permaculture, water harvesting and organic gardening. Ive stepped far enough back to get some perspective and lose some of the anger and victim-conciousness. I think all these things are good.

I’m back to blogging. I made a bunch of changes to the back-end of this system, and put the blog on its own sub-domain. Watch this space for new developments :-)

Patriotism

It’s July Fourth. After another year of watching our elected leaders in Washington continue the process of turning a proud and powerful people into a petty and scared one, I have decided to make another attempt to wake some people up. Just this once, I decided to explain what patriotism means to me – in case some fool out there thinks that because I constantly criticize my government that I’m unpatriotic.

Patriotism is paying my taxes, even though I know the money will be used poorly and wind up doing no good. Patriotism is writing one more letter to that Senator or Representative, even though you heartily believe that it’s bound for the landfill instead of the desk. Patriotism is calling out a leader you like, and have much in common with for supporting a piece of legislation you despise – just because it’s bad law.

Patriotism is knowing that the telecommunications companies have spent the last decade cheating the American people – and then spending a great deal of time opposing telecomm immunity, and working for net neutrality. Patriotism is backing the creation of a national broadband infrastructure plan – knowing full well that it will put billions of dollars into the pockets of the same telecommunications companies that have spent decades ripping us off. Patriotism is swallowing your bile end doing it anyway so that some punk kid in East Podunk gets access to the great opportunities for education and personal growth that the Internet provides, and will provide.

Patriotism is being an author and still believing that copyright is too long, and too powerful right now. Patriotism is being a programmer and inventor and believing that patents, as they exist today, are evil. Patriotism is knowing that $4+/gal gasoline is bad for your wallet, and going straight into the pockets of people and companies you hate – and also knowing that expensive gas is good for our long term health as a nation. Patriotism is using a bicycle to go to the grocery store. Patriotism is voting your conscience instead of your wallet when the two differ.

Patriotism is caring enough about the troops that you did everything possible to keep them from going to war in the first place. Patriotism is understanding that if one or two come home in one piece it will be a miracle – and that the rest will bear scars, physical and mental, for the rest of their lives. Patriotism is doing everything possible to give those people a decent quality of life – even though it’s expensive, and even when you opposed the wars that got them hurt.

Patriotism is about getting your hands dirty. Patriotism is about doing the work – political and otherwise. Patriotism is about becoming, once again, a nation that is not afraid to be open, take risks and dare. It’s about being a people who rejects torture not because it can’t, in some circumstances, save a few lives – but because principles are important. It’s about saying “Americans don’t do that” – and holding our heads up, even when it’s difficult – and even when it hurts. Patriotism is about daring. It’s about being willing to dream, and willing to roll up your sleeves and do the hard work required to make those dreams real.

To hell with it. I’m done. No-one is going to read this damned thing anyway – and even if someone does it won’t do any good. Try to have a better 4th of July than me.

Miro broken on Ubuntu Hardy Heron

If you’re using Miro on Ubuntu Hardy Heron, and you’re using the PCF repositories, you may find that Miro crashed unexpectedly or misbehaves and has trouble with Compiz-fusion. This can be very easily fixed by going into preferences and changing the playback engine from xine to gstreamer. After this, you will need to close Miro and restart it. This should make Miro stable again.

Censorship Bad

This is an outgrowth of a post I was making on Violet Blue’s blog which was too technical and not enough sexual (It’s a sex blog). The topic was firewall piercing.

For an overview of the topic, you might like this Wikipedia article.

I was going to write something back, but while her site is about sex and technology, I think that my response had too much technology, and not enough sex.

This is turning into a mini-howto on basic and advanced firewall piercing. While I do think that this is important for people who are worried about their privacy online, I also think that this discussion needs to happen elsewhere and not clutter up a sex blog with too much tech-talk.

For an SSH tunnel, I was thinking more along the lines of this:
ssh user@example.com -L localhost:8888:127.0.0.1:8888

Then running a tinyproxy instance bound to the localhost (127.0.0.1) address of the ssh server on port 8888. Set your web browser to use 127.0.0.1 port 8888 as your web proxy, and you’re done. Personally, I would recommend combining this with something like FoxyProxy, which would allow you to easily switch Firefox between normal and tunneled communications. This approach gives you a clean tunnel anywhere SSH is sold. (Coffee shops, most airports…)

If you’re dealing with a really draconian set of rules, you could use a listener on some port of the ssh server, and run httptunnel ( http://www.nocrew.org/software/httptunnel.html ) on both ends, and encapsulate the SSH connection in http (web) traffic. This can even be set up to work through a web proxy server.

On the server, this is run as:
hts -F localhost:22 8443

The client side configuration looks like this:
htc -F 8022 ssh_server.example.com:8443

The ssh tunnel is brought up with:
ssh -p 8022 user@127.0.0.1 -L localhost:8888:127.0.0.1:8888

(Note: those are all 1-liners)

For bonus points, put the httptunnel instance on port 80 of the ssh server, so as to make life more difficult for censors. This can be done by replacing the “8443″ port numbers with “80″ in the example above.

For double bonus points, run a recursive DNS resolver on the machine, and replace tinyproxy with Dante. That gives you arbitrary dynamic port forwards on the far end for any application that either (a) supports socks(4/5), or (b) is socksified. Dante can be found at
http://www.inet.no/dante/ , and a windows Socksifier can be found at http://www.freecap.ru/eng/ . Socksifiers are nice for handling windows application that expect a direct connection to the Internet – but are not needed for Firefox, and any other applications that have been compiled to run natively with socks.

For triple bonus points, run openvpn in tcp mode through a httptunnel. Using this option, you can dump ssh and the proxy altogether, and run arbitrary protocols. It does, however, require a bit more work on the destination (server) end.

Edit: Fixed typos in example

Ephemera, Writing and Computers

When writing and computers come together, you often come to a very strange place. On one hand, any rational person trained in how computers work and how to work with them knows, almost instinctively, that bits are far more ephemeral than words on paper. On the other hand it is equally clear that digital works can, in theory, express a permanence that is unsurpassed in recorded history. The difference depends on your definition of permanence.
It is obvious to nearly everyone that it is far easier to damage a disk drive, for example, in a way that completely prevents data recovery than it is to damage a book or manuscript to the same extent. Manuscripts exist in museums and libraries today which have survived fires, floods, physical damage of various types, being repeatedly dropped, shipped all over the world, and stored for hundreds of years – sometimes in horrible conditions. The important thing to remember is that these texts, after this type of treatment, are still readable. Destroying bits is a simple process. If I fail to pay my hosting bill for a few months, this server will be shut down, and the disks will be overwritten with data from another client. At that point, all but the most extensive recovery efforts would be completely futile.
(more…)