skip to main | skip to sidebar

Sunday, April 27, 2008

We are the Cloud

There's been lots of news lately about "cloud computing" and suches. Google's out there with their new app engine, Amazon has their web services, Microsoft probably has something (I tend to ignore them :)). And there's also the data portability organization. It's all got me wondering.

It's no news that people are posting huge amounts of data on the web. Photos on flickr, text on blogs and sribd, videos on youtube, etc. etc. etc. The idea (my understanding of the idea, anyway) of data portability is that we should control our data. If we post a photo on flickr and then want it, instead, elsewhere (just on our local computer, on some other photo service), we should have the ability to do so. Web services should interact, like if we want to order printed copies of those photos from some other service, we should be able to tell flickr to let the other service grab the picture. There are things in place for this sort of thing to happen (oauth, companies opening up APIs for their services).

It seems to me, though, that there might be another way for us to store our data "in the cloud", and allow web services or individuals to access it, once we give them permission. The other project I have in mind when I've been thinking about this is bittorrent. I'm trying to envision a decentralized cloud, where we can store and interact with (and allow others to do so as well) our data. So instead of having our data with google or amazon (even if we have 'control' over it there), I'm wondering about maybe running a client on my computer (kinda like a bittorrent client), from which I can store and access files among the other people running the client. In order to use the client, I agree to set aside some of my hard drive space, and I'm then allowed to store some related amount among the others using this system. Rednundancy and privacy and encryption all built in, of course. So my computer dies, but the data is all stored in the wild, and I can retrieve it. The folks doing openid have a decentralized system, and I can't help but hope lots of the same ideas work for storing files in this cloud.

There's also no reason there should only be one client for this system. There are lots of bittorrent clients. The system is really the architecture and protocols. Then there probably should be some people keeping track of "trusted clients" or something, because if I'm storing my data on other people's computers, I want to know they aren't doing things with it that they shouldn't be.

I know none of that was precise, well thought out, or well described. I know that I don't know enough right now to even pretend that I can take this idea very far. Issues of privacy and safety and copyright and... I don't have answers to. My hope is that there is a kernel of a worthwhile idea here, and that somebody in a position to do something about it finds it.

Friday, April 25, 2008

Open Source Web Apps

So for no particularly good reason I decided to try switching from my desktop instant messenger client (pidgin, formerly gaim) to using the chat feature of gmail. I'm still going with the experiment, and have only been at it a day or so. I don't really see any particularly overwhelming advantage either way. Switching to web based applications is a trend I'm interested in though. But this has me wondering... what happens about open source programs when you shift to web based applications? For example, at some point I hacked a couple lines into my gaim source that randomly selected a new away message (from my set list) every half hour or something, when I was away. The only reason I could do that was because gaim was open source. Shifting to gmail chat... even if it is javascript and I can technically see the source (because, after all, my browser has to be able to see it), it (1) has been horribly obfuscated, (2) isn't in a place I can really modify it. When I download the gaim source, there it is on my local machine waiting for me to change it. But with web apps, even if I copy some javascript files offline and manage to un-obfuscate enough to make a change... then what? I can't reload it to gmail to have it work. And I'd be surprised if the script worked away from the google domains.

I'm not really sure I'm going anywhere with this, it was just a little thought that occurred to me. Maybe I'm misunderstanding web applications. I guess part of the idea with some of the widget standardization is that a widget written one place can be used in another place (like facebook versus igoogle (I don't know if that's currently how it works)). Is that some of the idea with opensocial?

Anyway... I guess the point is I've got lots to learn. Nothing new there.

[Update 8 May 2008: seems like this page is pretty relevant]

Upgrading to Hardy Heron (pt 2)

Well, here I am. Since I did the upgrade, instead of a fresh install, nothing looks particularly new. That's ok (but I still have the urge to start from scratch, and see what it's like). There seemed to be some issues toward the end of my upgrade, the chillispot thing came up again, and I killed another process there, and it even said 'update-manager' failed to update. So we'll see how that goes. I also still want to play and see if I can get my wireless working this time, as I never did in Gutsy Gibbon. I guess the big new thing is using the firefox beta 3 (which I could have done without a full system install), which I'll need to play with some more to see what all new awesomeness it has. At the very least, it doesn't crash when I close flash videos that are still playing, as opposed to what happened before this upgrade. So that's nice. I certainly want to think that the beta is snappier too, which I've read in other places. Hopefully I still feel the same as time goes by.

In the mean time, I'm off.

Upgrading to Hardy Heron (pt 1?)

I decided to use the built in update manager in ubuntu to upgrade to hardy heron today. It's been chugging along for about 6 hours now, so I'm thinking it might have been quicker to burn a cd and start from scratch. Plus then I get to mess about with doing lots of customization. But anyway, it got to a point where it said about 20 minutes remained, so I left it alone and went and did dishes. When I came back, it was stopped at 17 minutes remaining. In the terminal it has up to show progress, it said it was copying a conf file for chillispot. Not the sort of thing I'd expect to cause problems. I could minimize the window, but the arrow to hide the terminal didn't do anything on a mouse click. I opened up a separate terminal, and a 'ps -aux' showed a couple of processes that mentioned chillispot. I took a stab with 'kill' to end one of the processes (I should have looked more into the process codes, I guess). A window popped up to let me know configuration of chillispot had encountered an error, but that my upgrade would continue. So hopefully chillispot isn't something I use much. Guess I'll go read about it while I wait these last 10 (hopefully) minutes for the upgrade to finish. Plus it gives me time here on my XO.

Sunday, April 20, 2008

Some CSS Success

If you actually visit this blog page, instead of just reading along via rss or whatever, you might have noticed that the link colors in the "Reader Shared Items" block didn't match the link colors for the rest of the page. I finally decided to fix that today. It took a little digging around with Firebug, but it was worth it. I found that the reader widget makes its "a" HTML elements with class "i", so I put in a line "a.i { color: \$linkcolor; }" in the "Edit HTML" bit under "Layout" for blogger. That didn't work. But by an odd coincidence, just this morning I read about the "!important" bit of css, so I tried that (it makes the property that it is associated to harder to ignore), and it worked. And then I realized that there was no point in including an extra bit of css for just the "a.i" class, I might as well just tack "!important" to the color line in the existing "a:link" css (in my template, it's the first thing after the css for "body"). And that seems to have worked, which is nice.

[Update (~10 minutes later): I just realized that, of course, this changes all of my link colors. That only seems to have affected my post titles colors. But that's in the "Posts" section of my HTML template, under ".post h3 a", with "color:\$titlecolor". Tack an "!important" there, and it all works out. For good measure, I also put some more "!important"s on the css lines for "a" toward the top of my template (under "Body"). The Reader Shared Links were still underlined, while none of my other links where (unless you hover over them), so I put a "border-bottom: none !important;" in the css for "a" toward the top (there under "body" again), and it seems to have worked out.]

Anyway, I've found the firebug firefox extension to be an awesome tool for messing with webpages. You can click around and look at all the code for everything everywhere. And you can modify the source and watch it affect the page right away. Totally sweet. If you play with webpages and haven't used it, you should check it out.

(Sorry if any of the terminology above is wrong, "elements" or "properties" or whatever. Feel free to let me know if I mis-spoke, I'd like to get it right someday)

Thursday, April 17, 2008

DiffEq

I have, to date, successfully avoided taking any differential equations classes. When I think about them, 'ugly' jumps to mind. Sure, I enjoyed Euler's method when we learned it (in high school, unless I'm totally mis-remembering something). And sure, differential equations seem to be what drive the real world. But the real world is also fairly ugly (unclean might be a better word), so it seems to work out.

Anyway, the point is, I learned a little something the other day about differential equations that I liked, and thought I'd share.

So, suppose you have a rectangle in the plane, with edges parallel to the coordinate axes (we might as well put the lower-left corner on the origin), with integer width, w, and height, h. Suppose you have a fixed value for each edge of the rectangle, representing temperatures along those edges, and would like to model the temperature of interior points of the rectangle. For simplicity, suppose you want to approximate the temperature at integer coordinates in the interior of the rectangle. Let Ti,j denote the temperature at coordinate (i,j). We already know this value along the boundary of the rectangle (i=0,w or j=0,h), and would like the (w-1)(h-1) interior points.

To get our approximation for the values, we think about relationships among them we might like to assume. An easy and reasonable thing to assume (to get our approximation, anyway) is that the temperature at point (i,j) is the average of the four neighboring points (one up, down, left, or right). In equations:


4*Ti,j=Ti-1,j+Ti,j-1+Ti+1,j+Ti,j+1


This gives us (w-1)(h-1) linear equations in the same number of variables, and so we expect a unique solution. In fact, if you think about it in terms of matrices, the coefficient matrix has no more than 5 nonzero entries in any row (less than 5 if the point is one away from the boundary).

I don't know for sure, but the notes I was looking at seemed to indicate that this was called the 'finite difference method'. You may also notice a complete lack of derivatives, and thus differential equations. I'm sure they are there somewhere, but I also expect I like it just as well with them hidden.

Monday, April 14, 2008

Puzzle

While tutoring the other day I came across a puzzle I don't know how to do. This isn't exactly noteworthy, as I can't do most puzzles. But it seemed like an interesting enough puzzle, so I thought I'd give it broader attention:

50 watches are placed at random on a table. Show that at some time the sum of the distances from the center of the table to the ends of the minute hands is greater than the sum of the distances from the center of the table to the centers of the watches.

The problem didn't say anything about the sizes of the watches (like, if they were all the same). Also, I guess we should say that they are all facing up (does it matter?). I think the problem did mention that the watches weren't all necessarily all set to the same time, just that they were all running at the same, accurate, pace.

So, any thoughts?
Subscribe to: Comments (Atom)
 

AltStyle によって変換されたページ (->オリジナル) /