Galago Notes

Just before I go to bed, I figure I’ll jot down some notes regarding Galago, as I’m sure I’ll forget a couple of them in the morning.

The storage of the data is going to be in a graph. I think this is fairly obvious. Using this, we can better fine-tune how specific one thing is to another.

We should allow the user of the API to search in many ways. Keyword searching, mime-types, and categories are a few that should not be left out. We should also allow data to be retrieved within a span of time.

Speaking of time, items should be set so that they have an expiration date and one or more dependencies. The dependency (perhaps almost all information?) should be in the form of a URI. So, a feed may push data with no expiration date but a dependency on a file, along with any relevant data, to the galago server, and the information would be cached and accessible, even if the program had been closed for awhile. If that URI no longer existed (say it was a node in the graph, or a file on the harddrive), the entry would be purged.

And it’s late, so enough rambling. Bed.

Shiny New Battery Back-Up

For Christmas, my parents gave me a CyberPower Battery Back-Up system. It’s a 410 watt unit, claiming to last 25-50 minutes. I really only need 5-10, since these systems are only off when the power flickers or PG&E screws up somehow. So today I finally installed it, as my main desktop locked up. I figured it was now or never.

What can I say? It works. It’s fun to pull the plug out of the wall while the computer is running (I only did it once!)

This doesn’t even compare to my friend John’s setup. He needed something for one of the businesses he’s a computer consultant for. It had to last 2 hours, so what was his solution? Why, building his own out of 4 car batteries, of course! It generates a bit of heat, but it works, and has worked for some time. I want him to build me one, but then, I only need that 5-10 minutes.

Food For Geeks

I’ve been discussing a small site I plan to setup with some people. The site is called Food for Geeks, and is essentially a food donation system for Linux hackers. It works like other monetary donation systems, but instead of specifying an amount to send the person, you’re presented with their favorite foods. You don’t actually donate the food. Rather, you donate the money for a type of food, and it goes into the person’s PayPal account.

Really, it’s a wrapper for PayPal, but more geared toward rewarding food. I feel this would be more personal and fun, and gives the donator some idea as to what the person will be buying with the money.

The system itself will be easy to setup. I have the space and bandwidth, and developing the backend won’t be a problem. It’ll allow users to setup accounts with their portfolio, list of projects, and their favorite foods, along with the prices. They can then place a little button on their site, which other people may click. They’ll be presented with the food the donatee listed. Clicking a link will open up probably a PayPal Donation page with the price for the food and all the relevant information.

It might be crazy, but it’s not like it hurts to try. I just need some good graphics made, and I can do the rest. Failing that, I’ll do some mediocre graphics 😉

Galago

I’ve been developing a draft of a system I call Galago, which will be used for associative information gathering (based on ideas from Nat Friedman’s Dashboard) and user presence information. I discussed this briefly on Advogato.

This is not all fledged out yet, but the current concept uses D-BUS and XML packets for communication. Every Galago Feed, which may be an application (such as Gaim) or a daemon, can push information it finds to the Galago daemon and/or listen for requests for associated information. Other applications (or even the same ones) can make these requests and retrieve the results.

The trick is deciding how I want to format the requests, figure out what information to return, etc. I’m thinking that a combination of categories and mime-types would work, but I don’t know how easily that will scale to things I haven’t yet thought of. It would require a standard repository for categories.. Must think about this more.

Another area of Galago would be presence information. Any application that can provide presence on either the home user or remote people would push it to the server or wait for a request and respond. The basic idea is simple. Any time you see a person’s name or information, whether it be in Evolution, Gaim, Straw, Pan, or whatever, you’d be able to retrieve information as to whether they’re online, what services, and their status (away, busy, etc.). It doesn’t matter what IM client you use, as long as they support Galago.

The base of Galago is composed of three parts: Galago Core (the main communication protocol), Galago Presence (presence and user information), and Galago Association (related information gathering, a la Dashboard).

I should mention at this point that Galago wouldn’t be designed as just as GNOME thing, even though that’s how it may appear from the examples I used. It would hopefully be more like a freedesktop.org standard, where it’s desktop-neutral. It would have libraries with controls for common assocation and presence indication, such as a little online indicator icon, a Today view control, etc. There would be Gtk and Qt versions of these.

I’m drafting up some ideas for this, and trying to figure out the protocol and get a base system up. It’s moving slow, but it’s moving. I’ll post more as I go.

Scroll to Top