September 07, 2005FTP hackI just came across this cool hack:
The article illustrates the challenge by creating a dynamic FTP server that exposes the internals of a Smalltalk application. Of course, it would be equally interesting to expose a Java application this way and browse the packages, classes and methods. You could also imagine creating a file system (/dev/java ?) that would let you create an object with touch and remove it with rm... Completely useless, but totally cool :-) Posted by cedric at September 7, 2005 09:10 AM Comments
There was a groovy Groovy script that provided a 'shell' that let you do shell-ish commands against objects; cd'ing into them would show instance variables, etc. http://grash.javanicus.com/ The QNX operating system has/had (been a while since I played there) a fairly simple way of allowing a user-land program to expose itself to the file system as a mount point. We played with this a bit for some artifacts our program was using that were file-ish. Very cool. It used to be that in Java, java.io.File was final-ed enough that you couldn't really extend it, but I'm not sure if this is true anymore. We had thoughts at one point of allowing people to 'mount' something that would give you full java.io.File semantics, only it wasn't a file but some set of objects. Not as nice as QNX exposing it to the whole OS, but it might be useful for Java environments. Posted by: Patrick Mueller at September 7, 2005 09:05 AMBEA's WLST (weblogic scripting tool) is implemented in Jython and allows navigating JNDI trees and other structures (JMX, etc.) either interactively or in script form. It's great for automating config of large distributed systems.
If we routinely scaled beyond 3 nodes, it might make sense to increment through a loop and call a jython function. We're just getting our feet wet for now. I've written an "FTP server" based around Servlets - the GenericServlet can be used for any TCP-based protocol (possibly any IP-based protocol). While mine served up dynamically generated files, there's no reason it coudln't have done anything else. Posted by: Robert Watkins at September 7, 2005 04:20 PMThe filesystem the easy part actually. Once you have an FTP server that serves up code as paths, you can mount that location onto the filesystem. Just one of several solutions is: http://gentoo-wiki.com/HOWTO_FTP_Mount I disagree that it's totally useless. The Linux kernel exposes a lot of internal variables via the /proc interface. In effect enabling you to tweak the kernel's data model in real-time. True /proc is somewhat more limited, but still a very interesting tool. The Plan9 operating system also utilizes similar open namespace semantics to achieve fascinating results. http://www.cs.bell-labs.com/sys/doc/index.html This style of namespace openness is also one of the 'stated' goals of Reiser4. http://namesys.com/whitepaper.html What I find most fascinating about exposing your datamodel in this manner is -- for lack of a more expressive term -- the openness. I've long since lost count of how many times I've wished I could treat a database as a hierarchical file system and run perl scripts against it. Or perform some manipulatation of my Java data model with something other than Java. Posted by: Corey Jewett at September 8, 2005 03:20 PMi want to know the how to crack the password & test Posted by: Raphael at June 29, 2006 11:43 AMalert('Hello everyone!') Posted by: Evilaussie at June 15, 2007 11:49 PMPost a comment
|