Morning has b0rked
The last couple of weeks have seen a fairly insane number of hours of work out of me due to a combination of a project with tight deadlines (aren't they all?) and the advent of me driving my wife to work in the mornings. She's at the point now of not being particularly mobile (oh, by the way, we're spawning) so I'm getting up at 6:30 daily to get her to work for 7. This means that I'm generally either working from home by 7:15 or in the office just before 8. That should mean that I'm done before 5 but it doesn't quite seem to work that way when other people are involved ;)
Anyway, due to the ease of working with Node.js and Django, I've at least achieved a lot :)
I ended up building quite a neat (and yes, I actually mean this in the sense of tidy and organised - not just "cool") web server engine as part of the project. It's quite similar to the one I made for this site but with some pretty nifty refinements. If I can persuade the powers that be, I might see if I can split it out a little more and open-source it. We'll see :)
One snag I've hit along the way is that OAuth appears not to be applicable to multipart post requests. I'm hoping someone will correct me on that and just tell me that I've been doing it wrong but I don't think so. That single thing broke my entire afternoon today.
The problem comes from my need to upload a large file or two to an authenticated web service. When the files were small, a basic querystring formatted post body was sufficient but when I tried larger files, that clearly wasn't going to work so I stuck it all into a multipart request and then... BOOM oauth is unhappy. It seems to be the signature generation code that makes certain assumptions about what the request will look like when it's generating the sig.
Like I said, I hope I'm wrong and that there's a nice, simple way to do file uploads via OAuth!
The Eagle has exploded
I'm not sure if I mentioned it before and I really can't be bothered to look, but Eagle Mode is fantastic! Basically it's a zooming file manager but with some other things thrown in. I'd actually like to see the file manager part separated out from the rest of the project as it's so amazingly useful. It'll need to be a bit shinier before the Mac fanboys and Ubuntu users will go for it though ;)
The basic idea is that, whatever you're looking at, you can zoom in on it. If you're looking at a folder, you'll see it as a box with boxes for each of the files and sub-folders within it. You can zoom in on one of those (with the scroll-wheel for example) and, if it's a folder, see what's inside it and if it's a file (and this is the really awesome part), see its contents. Eagle Mode has handlers for most common types of files so you can, for example, very easily preview the contents of an entire folder of photos just by zooming in on the folder.
This quick and easy access to things and their contents makes it a very powerful file manager. It's stupidly easy to move files around and easily see the effect you're having on the way your file system is organised. I'd been putting off the task of reorganising my home folder on my desktop machine for years. It's a machine that's gone through several hardware changes, several operating systems, and a number of changes of heart about where I store things.
I reorganised all of it in about twenty minutes in Eagle Mode :)
I want it to have a web browser and for the internet to work like that. But it doesn't.
So I made this zooming version of my site :D It probably doesn't work in anything but chrom(e|ium) and I'm unlikely to work on it further. Essentially, you get an overview of this website. As you click on part of it, you zoom in. To zoom out, use the right mouse button.