Friday, November 25, 2011

Testing GoogleCL Part 3

Apparently, you don't need to backslash the apostrophes in posts, though. Interesting.

Testing GoogleCL

If you can see this, then it worked again. Apparently, you need to put a backslash before a \! character, but then it shows the backslash, too. Also, as with the \! character in the post, I had to put a backslash before the apostrophe in my blog's title name (Let\'s Get Technical)

Testing GoogleCL

If you can see this, then it worked\!

Sunday, November 20, 2011

Python Gdata

Short version: To upload Google Docs with a service that utilizes python-gdata, use a version between 2.0.12 and 2.0.14. Keep reading for more details.

Credentiality and I spent a few hours on this tonight. Here's a brief history and a beautiful table to show you what to expect.

An SSL error occurs in a few platforms using gdata when you try to upload files to Google Docs and it doesn't appear to be limited to python-gdata. It may relate to this. Credentiality and I work on  GoogleCL sometimes, so we have all the python-gdata versions from 2.0.0 through 2.0.15 and test code with all of them, anyway. Here are some observations and what has worked for us so far.

In May 2, 2011, Google began to allow uploading "all file types" for non-premium users. Now, if you add a resumable uploader fix to a specific GoogleCL client.py file* and you use python-gdata 2.0.10 or 2.0.12 through 2.0.14, GoogleCL should upload a PDF to Google Docs successfully.

Without the resumable uploader fix, python-gdata 2.0.10 or 2.0.12 through 2.0.14 gives us this 403 error:
403, <errors xmlns='http://schemas.google.com/g/2005'><error><domain>GData</domain><code>ServiceForbiddenException</code><internalReason>Files must be uploaded using the resumable upload mechanism.</internalReason></error></errors>

When we use python-gdata 2.0.5 through 2.0.9 or 2.0.11, we get this 403.4 SSL error:
403, <errors xmlns='http://schemas.google.com/g/2005'><error><domain>GData</domain><code>ServiceForbiddenException</code><internalReason>403.4 SSL required</internalReason></error></errors>

The python-gdata versions before 2.0.5 can't upload PDFs to Google Docs, anyway. We get the following error for those:
{'status': 415, 'body': 'Content-Type application/pdf is not a valid input type.', 'reason': 'Unsupported Media Type'}

python-gdata 2.0.15 doesn't work with GoogleCL to upload to Google Docs, either. Currently, we get this error, which seems to be a GoogleCL error related to some change in gdata from 2.0.14 to 2.0.15:

from gdata.docs.data import MIMETYPES
ImportError: cannot import name MIMETYPES





*In the directory: googlecl/src/googlecl/docs/ .

Sunday, July 10, 2011

Hacking Gedit

If I have time this summer, I'd like to help fix bugs in gedit. I LOVE gedit and I want to contribute. Here's a heads up for those of you installing gedit from the git repository instead of from the tarball which, I believe, is what they recommend. . . but it's certainly what I prefer, anyway.

I edited their README to include install directions for people checking it out from git. We'll see if/when they take the patch. They have a good reputation for accepting help.



Simple install procedure for gedit if you checked out the source code from git:

(you may have done this already) download the most recent version of gedit
% git clone git://git.gnome.org/gedit

change to the toplevel directory
% cd gedit

generate the `configure' script
% ./autogen.sh

run the `configure' script
% ./configure

build gedit
% make

[ Become root if necessary ]

install gedit
% make install

Thursday, June 30, 2011

Chem 101

My study partner and I find our solubility chart a bit muddled for quick equation balancing. Here's our answer to this problem.

Monday, February 28, 2011

Technical Skills Update

This quarter, I'm taking a Shell Programming class. I keep finding things that would have been useful to know *before* I started hacking the Linux kernel and AOSP. It's an interesting class, though. Better late than never, right?

gedit

I love that I can highlight a block of code and comment or un-comment it all with two clicks of the mouse! Saves so much time!