I've always wondered what exploit might be running on my system, and never had any time to devise/install a detection system that would have the right balance of useful detection (maximize) and performance impact (minimize).
When I stumbled upon unionfs a couple weeks ago, I thought that was an interesting idea from a change-logging perspective. It's sometimes useful to be able to keep a filesystem-based diff of what a certain operation does to a system, and then bake it onto the system when I know it did what I wanted to. The takeaway for me was that unionfs's performance profile had the opportunity to be so low because it was so thin and so baked into the kernel.
This compounded with my recent discovery and fiddling with fusefs (in user-land) and I wondered about what kind of useful logic I could put underneath a filesystem. The GlusterFS feature set, the recent LessFS GC stuff, the bup-fuse stuff, and the S3FS stuff is all just *really* cool. I ended up gazing longingly at the big backlog of fuse filsystem suggestions on their wiki, and wandered back into the unionfs space.
So, when I saw the I3FS paper (linked from here) about the modular application of this technique to intrusion detection, this really triggered the Useful *AND* Performant neurons and I got really excited.
Unfortunately, on first glance, the stackable filesystems stuff seemed pretty cryptic to set up in a lightweight, just-works kind of way (think custom mount command-lines complete with arcane stacking options).
It would be soooo awesome to have an easy-to-compose ruby DSL for doing some kind of rack-like filesystem mashup with a kernel-level unionfs layer underneath a user-land fusefs layer, but all expressed in the same DSL.
This would be an awesome tool to put on top of the Arch-derived clone I want to put up for people at work. There are folks who care about living more on the edge of linux stuff, but that don't care to install from scratch, and also might not care that much about not having a full Gnome stack if things just work. And if I could give them the same tuned IDS-on-the-desktop solution (or upgrade their developer stack by letting them pull a filesystem delta over), that would be really cool.
The cheap development observation [PDF, linked from] because of modularity is one of attributes valued highly by the Ruby community as well. It is one the key things that makes Ruby as a community awesome.
These kinds of ideas really matter, and making them so cheap and stable that you don't have to think about them really matters even more.
NOTE: The I3FS paper is really pretty old (2004), and the whole unionfs stack is older than that. The fuse stack came into the kernel a long time ago too (2005). So while this is new to me, it's been around for quite a long time. I'm playing catch-up.
Thoughts and comments by John Sumsion about life and software.
Alma 34:38 Live in thanksgiving daily, for the many mercies and blessings which he doth bestow upon you.
Showing posts with label rack. Show all posts
Showing posts with label rack. Show all posts
21 December 2011
19 December 2011
Some Git/Ruby stuff of interest
While taking the git survey a while back, I encountered:
- git-annex: awesome git-enabled large file archive support
which led me to:
- git-bup: way cool! git-like backup, even serves as a remote for git-annex
also this morning ran into:
- rib: irb, except better, including rib-heroku
- rest-core: like rack, except for RESTful clients
- gemgem: easy gem building, without all the hoe dependency cruft
I just wish that gem-man read the README{,.md} in the root of a gem (like gemgem does) if that gem didn't have a manpage. Sounds like a good patch to send. That will help me understand how gems can access their own filesystem post-install.
Thought you might like to know.
And btw, rbenv is way nicer to interact with than rvm, at least that's been my experience over the last couple weeks.
Labels:
cheap-experimentation,
git,
rack,
ruby,
slack
20 March 2009
MountainWest RubyConf 2009
MountainWest RubyConf 2009 really helped me reorient in a very good way.
The emergent theme seemed to be "modularity".
Six main talks that were really enlightening:
When I heard Jon say that the Perl script he had up on the screen was a monolith -- he was absolutely right. And I thought that the system *I* was working on was a monolith.
I was going to give a lightning talk about fshelper.org's link feature, but I wanted to rewrite it in broken-up rack pieces. I tried my best to do that between talks, but I didn't quite get the app to function as middleware, so I just gave up and listened.
The emergent theme seemed to be "modularity".
Six main talks that were really enlightening:
- Jon Crosby: Rack
- Jeremy Evans: Sequel
- Yehuda Katz: Rails Rewrite
- Adam Blum: Rhodes
- Jim Weirich: Unified Theory of Software Development
- Alan Whitaker: The Sweet Ruby Life
When I heard Jon say that the Perl script he had up on the screen was a monolith -- he was absolutely right. And I thought that the system *I* was working on was a monolith.
I was going to give a lightning talk about fshelper.org's link feature, but I wanted to rewrite it in broken-up rack pieces. I tried my best to do that between talks, but I didn't quite get the app to function as middleware, so I just gave up and listened.
Subscribe to:
Posts (Atom)