?

Log in

No account? Create an account

This is an odd thing.... - Journal of Omnifarious

Jan. 10th, 2004

11:04 am - This is an odd thing....

Previous Entry Share Next Entry

This is kind of interesting, but I really have no idea what it's about. The people who make it call it a 'mindmap', and somehow they distill it from my LJ friends connections or something. Anyway, they don't promise the stuff I've stuck behind the LJ cut will work anytime soon, but they promise it will eventually.

Current Mood: [mood icon] curious

Comments:

[User Picture]
From:mcfnord
Date:January 23rd, 2004 11:15 pm (UTC)
(Link)
Hi, I'm the people who made this and I also stop into the Aurafice now and then, but prefer the Bauhaus. Your CAKE project sounds cool. Do you get into Aurafice a lot?
(Reply) (Thread)
[User Picture]
From:omnifarious
Date:January 24th, 2004 12:28 am (UTC)
(Link)

Usually once or twice a week. I've been in Bauhaus too, but it seems easier to start conversations with people in Aurafice.

It'd be interesting to talk to you about your mindmap project. I could show you how my CAKE project is going. :-)

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 24th, 2004 07:35 pm (UTC)
(Link)
I don't mean to talk smack about those Aurafice people. I just don't vibe well with the whole granola goth scene. What platforms are you working with on your project?
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 24th, 2004 09:37 pm (UTC)
(Link)

*nod* As I said, it does not seem obvious to me how I could start a conversation with a random person in Bauhaus and have it work. And that's my primary selection criteria. I don't really care what kind of people hang out there as long as I don't find them actively offensive (which would prevent me from starting conversations with them). :-)

Well, it runs on both the Mac and under Linux. It's written mostly in Python,, though small portions are in C/C++. It requires the gmp library for the parts that are in C/C++ to work. It also requires Python 2.2 or higher, and I'm using swig to connect the Python parts to the C/C++ parts.

I would like to make it work in Windows. I would also like to change it to rely on the beecrypt library instead of the gmp library.

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 24th, 2004 10:09 pm (UTC)
(Link)
Hey, when you say "Mac", is this the new Mac that is essentially Unix? I've just heard of most of that stuff you just mentioned. I'm very Windows-centric, for better or for worse. I guess that's a little ironic cuz my latest project is not deployed code, and deployed code base is Windows' edge. Actually my next trick will deploy computational code and Framework makes that easier. If it works it might be cool.
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 24th, 2004 10:35 pm (UTC)
(Link)

Yes, I should've said Mac OS X, the Mac running on top of Unix. :-)

It shouldn't be too hard to port what I've done to Windows. I have no Microsoft products at all in my house, so it would be hard for me to do. I am aware of the environment though, and I there isn't anything in the design that should make things especially hard in that environment. Python has run on Windows from the very beginning. gmp has been ported to Windows, and I think beecrypt has the goal of also running under Windows.

What do you mean about 'deployed code' and 'deployed code base' and 'deploy computational code' and 'Framework'? :-) That whole bit just confused me. :-)

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 24th, 2004 11:04 pm (UTC)
(Link)
By deployed code I mean code that runs on a client computer. I also use the term to refer to the url's currently pointing into my project, because they're "deployed" and there's no calling them back. They're sitting there in html that I can't control. The underlying principle here is that deployed code is out of my hands... but using the Framework, it seems reasonably possible that I can deploy code to volunteers, and yet have most of them use my server copy of the executable. So apparently deploying code is not always irreversable. Deploying code securely is the biggest issue facing broad application deployment. In a sense, html and JavaScript deploy code but runs it in a secure sandbox so it's ok. This is precisely what I get from the .Net Framework. .Net Framework is Microsoft's answer to Java. i.e. sandbox so the user sees no "careful, you might get screwed. run .exe" stuff.

The computational code I'm going to deploy calculates an NP Complete problem, which is the technical term for I Have To Try Every Combination To Finish This Calculation. There's a post about my particular computational challenge in the lj_research community. I can optimize it a bit but basically I need a fleet of CPU's to handle the calculation complexity.
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 24th, 2004 11:24 pm (UTC)
(Link)

That distinction makes sense. It's interesting to view URLs pointing into a namespace your code controls as 'deployed' though. It should be possible to remap those URLs into anything. They represent a contract to provide a certain kind of information in response to a certain kind of query. You can break the contract in ways that aren't too awful, and would get people to change the URL to something else if it would be more convenient, or if you would prefer to not provide the service anymore.

I actually don't think a framework is key to the ability to deploy code in the manner you describe. What's key is some sort of authentication system so that people know that the code they're now running comes from you, and that you promise it's a newer version of a system they've already agreed to run. Having the beliefs I do, I strongly feel that any such authentication system should be as decentralized as possible. :-)

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 24th, 2004 11:36 pm (UTC)
(Link)
I try to value and leverage my deployed base. I have played with modifying the underlying content. My ability to remap things is somewhat limited by my control over various servers (which is limited). A solution is good if it respects the deployed links.

You're in luck, cuz the Framework requires no trusted third party. How's that for decentralized? The Framework provides the "authentication" that that code poses no threat to the client computer, by examining its code. I can even have a text-based UI! You're describing an authentication system like VeriSign's key repository. It seems prohibitive to gain entry in this database, and the user is still asked "do you trust ljmindmap.com"?' My way bypasses all that. It's still quirky, though.
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 25th, 2004 12:37 am (UTC)
(Link)

The kinds of keys used by Verisign's PKI system, but not their repository. In my scheme, you'd just hand a key to trust to people who wanted to run your code, and from then on, they would use that key to verify the code was from you.

And, on the other front... What you want is actually on OS feature called 'capability based security'. In order for one thing to talk to another in this security model, something it's already talking to has hand it a handle to the thing it wants to talk to. This can be used to implement very fine grained controls over exactly what resources any given process has access too. If this is enforced by the OS, then you don't need a framework that does any verification.

I'm thinking of someday implementing some very simplistic capability based security for Linux that would allow a process to drop most of the priveleges it had running as you so it could run untrusted code that would have to go through another process to get to your files, your screen, or even your CPU.

The poster child for capability based security is an OS called EROS. :-)

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 25th, 2004 01:12 am (UTC)
(Link)
.Net Framework is an "interrogation based" system or something. "Credentials-based"? I can't remember. But yeah, you have a fine grain control. By default, any app can create a text-based ui app, and call web services from their internet site of origin. That's all I need!
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 24th, 2004 10:41 pm (UTC)
(Link)

BTW, I'm sitting in the Aurafice working right now. It's open-mike night, which is mildly (but not too) distracting. :-)

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 24th, 2004 10:54 pm (UTC)
(Link)
I'm at the Bauhaus. We're all sitting quietly. I'm designing MindMap V2.
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 24th, 2004 11:05 pm (UTC)
(Link)

I could stop by and say "Hi!" on my way home when I leave here in an hour or so. :-)

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 24th, 2004 11:06 pm (UTC)
(Link)
i'm upstairs, bald, in a red windbreaker. with my eye on the door. i'm just mulling about, drooling, claiming to work on a design.
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 25th, 2004 12:21 am (UTC)
(Link)

Well, I tried hunting you down, but couldn't find you up there. :-( I'm in Bauhause now. I'm downstairs, near the counter, in a dark-green, light REI jacket, typing on a PowerBook.

(Reply) (Parent) (Thread)
[User Picture]
From:mcfnord
Date:January 25th, 2004 12:25 am (UTC)
(Link)
i just got home. left about 20 minutes ago. oops!
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:January 25th, 2004 01:12 am (UTC)
(Link)

Oh, well. Another time then. :-)

I would've been there earlier, but I was finishing up some stuff on CAKE, and didn't want to stop.

(Reply) (Parent) (Thread)