Sunday, January 22, 2012

Facebook Hacked


When I drove by the Facebook offices in Menlo Park, CA on Thursday, January 19, I noticed that Facebook had gotten hacked.


Unlike most legislators and news media writers, I choose to use the word hack correctly. Hacking has nothing to do with computer security. The term hacker was coined in the late 1950s by MIT's Tech Model Railroad Club, and it means "someone who applies ingenuity to create a clever result, called a hack" (see http://tmrc.mit.edu/hackers-ref.html).

From what I can tell, the hack I saw at the Facebook offices was in the true spirit of hacking.

I first noticed it at around 3 p.m. (Pacific Standard Time) while I was waiting at a traffic light.





I returned in the evening to see if the hack was still there, and to take some more photos. Within minutes, a police officer arrived and asked me if this was my work. I had fears that I would be falsely accused of constructing the hack and returning to the scene to admire the fruits of my labor only to be arrested for vandalism. I masked my fears and spoke to the officer not as though he were just an armed law-enforcement tool, but a person.

Partly because I was unable to contain my glee over the hack, and partly to mask the fears induced by my cynicism, I think I had a wild grin on my face the entire time that I spoke with the guy. He was exceptionally kind to be my audience for as long as he was.

After I told him the hack was not my work, I took the opportunity to tell him the origins of the term hacker, and to explain how the term has been misused for many years. Then I enthusiastically told him how this hack was in the true spirit of hacking. 



After five to ten minutes of listening patiently to me, the officer touched his fingers to his ear to indicate that he was listening to his radio. Then he politely excused himself by saying, I would love to stay and chat, this is really interesting, but I have to go. Just when I was about to start talking about software freedoms too! Shucks.


















This hack was still up when I passed it again Saturday morning (January 21).

Tuesday, January 10, 2012

Louis C.K.'s comedy special in Ogg Theora format

I recently bought the DRM-free Louis C.K. comedy special -- best purchase I've made in years.

I was excited to see that Louis offered his comedy special in Ogg Theora format, but when I searched for the Ogg Theora file, I couldn't find it, so I contacted Louis' website support. They were very helpful.

I was instructed to go the the Stream Film page and view the source code of the page. In the HTML source, you'll find a link to a file with a name that ends with .ogv. You can use that link to download the file.

  1. On this page, click on Stream Film
  2. On the View Stream page, view the the page source code.
  3. Find the text that reveals the location of the .ogv file, which is in Ogg Theora format. (I've forgotten whether this was an absolute path or a relative path.)
  4. Use the address determined in the previous step to download the Ogg Theora file.

Buy the special if you haven't already. Louis C.K. is fucking awesome. https://buy.louisck.net/

Sunday, December 4, 2011

neatx setup

I had been using NoMachine NX server on my computer for a while, but I recently started making a serious effort to fully free my computer by using only free software, so I replaced it with neatx.

Here are the steps I took to install neatx.

  1. Download the neatx source:
    svn checkout http://neatx.googlecode.com/svn/trunk/ neatx-read-only 
  2. Follow the instructions in the INSTALL file (under the Redhat/Fedora/RPM-based distros section) for building an rpm
    • sudo yum install yum-utils rpmdevtools
    • rpmdev-setuptree
    • cd /path/to/neatx/tree
    • tar czf ~/rpmbuild/SOURCES/neatx-0.1.tar.gz *
    • rpmbuild -bs extras/rpm/neatx.spec --nodeps
    • sudo yum-builddep ~/rpmbuild/SRPMS/neatx-*.src.rpm
    • rpmbuild -bb extras/rpm/neatx.spec
    • sudo yum install --nogpgcheck ~/rpmbuild/RPMS/i386/neatx*
  3. Edit the neatx configuration file on the server and set the environment variable on the NX client so that the protocol versions match. neatx is very picky about this. It requires an exact version match. I intend on modifying the program so that it does not have this restriction. I'll post the details of the changes required once I get around to making the modifications.

    In this example, I will be setting the protocol version to 3.2.0.

    sudo vi /etc/neatx.conf
    and changing the line
    nx-protocol-version = 3.3.0
    to
    nx-protocol-version = 3.2.0

    Change the environment variable NX_PROTOCOL_VERSION before starting opennx. For example, with the following command.

    NX_PROTOCOL_VERSION=3.2.0 opennx
    Other ways to set the protocol version in the opennx client include editing the shortcut icon so that it sets the environment variable there, or setting environment variable so that it is systemwide or in a user's shell rc file.

    In Gnome, I edited the menu shortcut icon with the following steps.

    1. Open a terminal.
    2. Without pressing enter at the end, type in vi (or the command for any other text editor) with a space after it.
    3. Select the opennx menu item in the Gnome panel, click and hold the mouse button over it for a second.
    4. Drag the icon out into the terminal window. This puts the location of the icon into the the terminal.
    5. In the terminal, press Enter.
    6. Change the Exec= line so that the /usr/bin/opennx part is preceded by env NX_PROTOCOL_VERSION=3.2.0, so that it look like this:
      Exec=env NX_PROTOCOL_VERSION=3.2.0 /usr/bin/opennx