getting close …

We’re getting very close to releasing zmugfs 0.1, the read-only release. As you may recall on Monday I got zmugfs to show imgdata in nautilus.

img data

But I could only get it to work if I used the thumbnail sized imgdata. In the read() method I was logging into smugmug, reading the thumbnail imgdata, logging out of smugmug, getting the imgdata via http GET, and returning. Well, this is crazy because read gets called multiple times with different offsets. So I ended up implementing the open() and release() methods. In the open, I get the imgdata (original size) via the smugmug api and store the imgdata in an image cache (an in memory dictionary). In the read method, it now respects the offset and size attributes by reading from the image cache. Then in the release method, I delete the entry from the image cache. I know not much of a cache. :) But it solved my problem. I’m putting the cache work off a bit, not sure how to approach that yet.

Next thing I wanted to try all of the command line utils (at least the ones I’ve used before) to see how they react to zmugfs. I was pleasantly surprised with the result.

command result comment
basename SUCCESS  
cat SUCCESS  
chgrp FAILURE chgrp method not implemented
chmod FAILURE chmod method not implemented
chown FAILURE chown method not implemented
cp from SUCCESS able to copy image from smugmug using zmugfs
cp to FAILURE mknod not implemented
file SUCCESS got appropriate file type
ln -s SUCCESS softlink created
ls SUCCESS listing appears correctly
mkdir FAILURE mkdir method not implemented
mv FAILURE copy part worked; unlink not implemented
rm FAILURE unlink not implemented
rmdir FAILURE rmdir not implemented
touch FAILURE setattr not implemented

From a readonly perspective, it is looking great. What’s left before a release you ask? Just a few things.

  • packaging
    • write spec file
    • figure out setup.py
  • design a logo
  • move code to zmugtools for branding purposes
  • work out image cache

That’s it, once I finish those things zmugfs 0.1 will be released out into the wild! I’m really excited as this is my first ever open source project. I’ve submitted patches to a few things, but never anything this extensive.

permissions and time

Tonights zmugfs update is permissions and time are now shown correctly. I defaulted the user and group to that of the user running the program (in this case me) :) And I now show the date and time correctly from the api.

Update: by “in this case me” it doesn’t mean I hardcoded my uid and gid. I used os.getuid() and os.getgid()

By the way, disregard the drew and foo entries. Those are debug strings which will be removed.

perms and time

It’s alive!

After 2.5 weeks, I finally got my car back from the shop. The following things were fixed:

  • overheating
    • flushed coolant
    • fan relay
    • reprogrammed computer to turn on fans earlier to compensate for a 40 degree delta between the temp gauge sensor and the water pump sensor
  • rough idle
    • “fixed” the cat
  • maintenance
    • changed rear diff fluid (it was overdue)
  • wouldn’t start
    • new starter
    • new Optima battery (kick ass battery to replace my 6 year old Diehard)

A special thanks to Carolina Auto Masters for great work as usual.

sky

I’ve been meaning to post these pictures of the sky. I really liked how blue the sky was on July 22nd, 2007.

A week after the beautiful blue sky, we finally got some rain here in NC and we were treated to a rainbow, a full arc no less. Checkout the full gallery.

Week 3?

I’m starting to lose track of how long it’s been since I’ve had my car. I think it’s been 3 weeks already. It is Tuesday (what’s left of it anyway) and the car remains in the shop as of this morning. Looks like the final piece was being worked on today, the AC. All the other issues seemed to have been fixed.  I’m really hoping and praying it’ll be ready tomorrow. But knowing my luck it’ll be longer. :(

zmugfs shows image data

Success. I got zmugfs to show image data in nautilus. It is a horribly inefficient algorithm but it works. I do the following:

  • login to smugmug
  • getUrls for imageid
  • httpget image from above url
  • return imgdata

I know EWW! :) But it worked!

img data

That’s cool and all, but I bet what would be really cool is to open the file up in GIMP.

gimp

How’s that for coolness! It’s 12:18am EDT, I need to get to bed because I have to get up at 6:30am to get the kiddies ready for school. If all goes well, I should be able to get zmugfs 0.1 released by next week.

zmugfs shows image listings

Yesterday I started implementing the image listings for the albums. I finished it up today. Here are the latest screenshots.

First up is an ls listing of the Album which appears on the filesystem as a directory (click the image to see a larger view, and yes that is Obi-wan in the background). The permissions aren’t quite right for the images, but that’s a minor change to the stat structure.

zmugfs shows ls listing of images

Next up is a subcategory containing albums. If you recall before I didn’t show the image counts, now the image counts appear.

zmugfs shows image counts now

Finally, you can see an album with the list of images and their file sizes. Since this only returns the filename information nautilus can’t render the previews. Still this is cool stuff, well in my opinion it’s cool stuff :)

zmugfs image list

Car update

After last weeks fiasco at Wake Tire, the car has been happily getting worked on by the guys at Carolina Auto Masters. My top three things to get fixed were:

  1. car wouldn’t start
  2. rough idle
  3. overheats at idle

The solutions to the above were:

  1. needed a battery and a starter
  2. catalytic converter issue
  3. bad fan relay

I then had them look at a few other issues:

  • A/C not working
  • change rear diff fluid
  • flush radiator coolant

They’re waiting for parts, hopefully it’ll be done today. At least they made progress unlike the first shop that had it.