Progress of GDriveFS (Google Drive FUSE Adapter)

The GDriveFS project has picked-up a lot of momentum in the last couple of months. I original wrote it because there didn’t exist any other FUSE-traditional implementations of a Google Drive client. Due to the massive amount of complexity involved in keeping track of an account’s filesystem organization and integrating a useful amount of GD’s feature set, only a handful of projects were created, and they were mostly very limited.

Needless to say, primary development lagged on for a while, but one year and two-hundred commits later, it has a following.

Thanks to all of those who have been involved. I have been getting regular community contributions/inquiries/bug-fixes. All are welcomed to get their feet wet in one way, or another.

Automotive Trouble Code Lookup

A little while ago, I was doing some work on an automotive project, and looked for a web-service that could resolve trouble codes (DTCs) into messages. This is the same process that you might go through when you run to AutoZone to have them find the code(s) that explain your warning light, and the little OBDII reader dimly states “P0442”.

It turns out that there were more than a few clumsily-designed websites that would allow a human to do this, but there were few/none that provided a clean, machine-readable interface.

So, I spent a couple of hours and deployed using the data from ScanTool. Easy for humans. Easy for machines.

Status of PySecure

A couple of months ago, I was looking for a Python SSH/SFTP solution. The only one that turned up and had some credibility was Paramiko. It’s pure Python, and reliable. It works great, but it hasn’t moved beyond RSA and DSA keys. This proved a problem with OpenSSH’s default now being ECDSA.

I spent some time getting into ECDSA so that I could extend Paramiko to include it. I was either going to integrate python-ecdsa or resign myself to compromising the pure-Python nature of Paramiko and calling OpenSSL. However, right as I got to this point, I thought of libssh, and, sure enough, it [allegedly] supports ECDSA as of recently. I immediately began to write a Python library to make the whole process elegant and clean.

We’re nearing completion (see PySecure). It’s easy to connect to a host via password or key. Some of the available and tested features:

  • Local and reverse port forwarding
  • Open a remote shell
  • Enumerate remote files with SFTP.
  • Manipulate a file. This object has all of the standard filesystem functions, and is also a full “file-like” object. It can be read and written like any other file.
  • Remote filesystem recursion and mirroring.

I love the last feature.

I’m currently working on the X11-forwarding, but it requires some back-and-forth with the libssh developers. It also turns out that their EC support might need some debugging. It looks like they’re actively working on it. They’ve been very responsive.