Slashdot Mirror


Interview With Reiser4 Author Hans Reiser

An anonymous reader writes "KernelTrap has an interesting interview with Hans Reiser, the author of two revolutionary Linux filesystems, Reiser3 and Reiser4. Reiser3 was the first journaling Linux filesystem. Reiser4 is a complete rewrite that is claimed to offer amazing performance and a new plugin architecture offering semantic enhancements to rival Microsoft's WinFS and Apple's Spotlight. Comparing Reiser4 to WinFS, Reiser says in the interview, "Reiser4 is a much more mature design, representing a 10 year effort"."

88 of 382 comments (clear)

  1. Homework by mysqlrocks · · Score: 3, Funny

    Berkeley was a lot better than junior high school, but it still involved homework, which deep down in my heart I could never believe in.

    I hear you. I always avoided homework as much as possible too.

  2. I was actually just wondering by mcc · · Score: 2, Interesting

    I was wondering over the weekend, on a whim, whether it would make sense to create a cross-platform library that abstracts meta-data/search functionality. Like, it would provide one uniform set of utility functions, and this would turn into calls to WinFS on windows, calls to Spotlight on OS X, and calls to ReiserFS on Linux.

    But I don't know enough about WinFS OR Spotlight Or ReiserFS to know if this would be even remotely useful or is just nonsense ;)

    1. Re:I was actually just wondering by RAMMS+EIN · · Score: 2, Insightful

      Like if the only popular OS that hasn't done so yet properly implemented POSIX?

      --
      Please correct me if I got my facts wrong.
    2. Re:I was actually just wondering by RAMMS+EIN · · Score: 3, Insightful

      It would be difficult to design. If you look at what APIs exist for this sort of functionality, pretty much the only one that has a significant amount of traction is SQL. And SQL isn't exactly the nicest language to work with. It's implemented with various degrees of compliance and non-standard extensions by various databases. Outside of SQL, the landscape is even more scattered.

      SQL language itself is somewhere in between being a very restrictive domain specific language and a full programming language. The way it is used in practice is by calling it from a real programming language, usually through an interface that leaves the door wide open for injection vulnerabilities.

      I believe the problem is that it's difficult to figure out what functionality goes where.

      If you want to get a list of all files that have been modified since monday and whose name does not start in a period, how do you proceed? Do you get a list of all files, then throw away all but the ones modified since monday, then discard all the ones whose names start in periods?

      Do you get a list of all files whose names do not start in periods, then discard all files that have been modified since monday? That requires your search interface and implementation to somehow support intelligent matching of the names (more difficult than getting all files whose names start in periods).

      Or do you directly query the system for what you want? In that scenario, your interface and implementation have to support complex queries, with subqueries, unequality operators, etc. Are you going to implement all this functionality, just because someone might need it? Is anyone going to be able to understand or implement your interface?

      I would love it if a good and cross-platform interface were available, but I don't think it's ever going to happen. If not for the technical difficulties, than because Microsoft won't want to adhere to the standard.

      --
      Please correct me if I got my facts wrong.
    3. Re:I was actually just wondering by hansreiser · · Score: 2, Informative


      How about the semantics described in The ReiserFS Future Vision Whitepaper ;-)


      Regarding how to compute it, the standard algorithm traditional to boolean algebra works reasonably well, in which you take the intersection of all of the sets matching the subnames, starting the computation with the smallest of those sets.


      Hans

  3. Re:No one cares, but . . . by lordsilence · · Score: 3, Insightful

    Having other people agree with him?

  4. WinFS? by Anonymous Coward · · Score: 2, Funny

    Does that actually exist?

    I thought It was dead...

    Let's try to keep our comparisons to real entities...

    1. Re:WinFS? by UWC · · Score: 3, Informative

      WinFS exists and is still in development. It's just not set to debut as part of Vista. Whether that means it will debut significantly after that I don't know, though. I think there's an alpha or beta version of WinFS available to developers now.

    2. Re:WinFS? by tjstork · · Score: 4, Informative

      There's a beta version available to developers now. There was a lot of criticism of it when it was first unveiled so they went back to the drawing board and released a new version that claims to address those concerns.

      --
      This is my sig.
  5. Hans and Franz by Anonymous Coward · · Score: 4, Funny

    I am Hans, and this is Franz, and we want to [clap] journal your filesystem.
    Ya. Ya. All you little girly men with your FAT and NTFS!
    Really, Ya. Makes me sad to see such pathetic file systems!

    1. Re:Hans and Franz by Alien+Being · · Score: 3, Funny

      On our keyboards we admins did pound.
      It was quite a thunderous sound.
      Some bastard named Hans
      taught his trees how to dance.
      Now our files are in lost+found

    2. Re:Hans and Franz by RealProgrammer · · Score: 2, Funny

      There once was a hacker named Hans,
      Who taught his B-trees how to dance.
      When unlinking filenames,
      Each inode proclaims,
      Our FS pwns Bill girly man's!

      --
      sigs, as if you care.
    3. Re:Hans and Franz by RobKow · · Score: 2, Informative

      ext3 with the dir_index feature does just fine by me, although I'm not sure what kernel version it was added in, if at all (I've got it by default in my Red Hat Enterprise Linux 4 installs).

  6. What exactly is "amazing" performance? by CyricZ · · Score: 2, Insightful

    How does the performance of Reiser4 compare to that of Reiser3, XFS, JFS, EXT2/3, UFS, UFS2, etc., in quantitative terms, for various applications?

    --
    Cyric Zndovzny at your service.
    1. Re:What exactly is "amazing" performance? by varmittang · · Score: 4, Informative

      This one is pretty old review back when Reiser4 was still Experimental. More recent one would be here, but it too is over a year old.

      --
      -----BEGIN PGP SIGNATURE-----
      12345
      -----END PGP SIGNATURE-----
    2. Re:What exactly is "amazing" performance? by otisg · · Score: 4, Informative

      This is a type of question that, unfortunately, cannot be answered correctly. Well, it can: it depends. But that's not what you are after. As Hans himself pointed out, there are some fsync performance problems with ReiserFS. If you look at PostgreSQL config files, you'll notice a "fsync" setting, and if you look at pgsql-performance mailing list, you'll see frequent mentions of fsync. Obviously, fsync affects DBs (not just PostgreSQL), and ReiserFS may not currently be so great for DBs. However, it is apparently good for large directories (1 directory, lots of files in it). So, it depends how you use your FS.
      Describe how you use your FS, and maybe somebody can provide good feedback.

      --
      Simpy
    3. Re:What exactly is "amazing" performance? by RealNecator · · Score: 2, Informative

      A better question is: if you're a home desktop user what benefit does a journaling file system give you?
      The thing is, Reiser ist not only about journalizing but also about performance because of stuffing things together in a more intelligent way. Therefore you don't waste harddisk space and the access of the data is also faster (especially with many small files).
      Therefore you get benefits even on your home desktop

  7. Interface to metadata? by Gothmolly · · Score: 2, Insightful

    Journalled filesystems are so 90s. Everyone is raving about how the new whizbang filesystems of the 21st century are going let you do metadata searches, and harken back to the beloved (?) BeOS. Well, what I want to know is: How do I get to this metadata? Some extra tool? Some right-click option that I have to select every time I create a file? Will all File dialog boxes have to be rewritten, and will I have to manually input all this info?
    I'm happier with Google desktop, which can, effectively, search many types of my files, and has a relatively familiar interface (for all but RMS).
    Once there's an application which can find all pictures of my dog, or songs with piano in them, and store THAT in the metadata, which I can search somehow, call me. Otherwise I'll stick to ext3fs and NTFS.
    Wake me when the revolution starts.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Interface to metadata? by diegocgteleline.es · · Score: 2, Insightful

      Somehow I think they will be useful. The file/directory concept was born (IIRC) at Multics, and that was because people was starting to have too many files (until then there was no directories, just "files")

      The file/directory idea got spread by unix (except for CP/M, who invented the "unit" bastardization which was inherited by DOS and NT) and it has been nice for 30 years

      But now we have the same problem: We have too many files. The "file/diretory" thing was enought in the 70's because people didn't have too many files. But now, we have thousands and thousands of files, the "file/directory" idea is not enought.

      I've suffered from this limitation several times. When I try to classify Joaquín Sabina's (a spanish musician who writes good lyrics) poems book, I don't know if I must save it under "~/musica/Joaquín_Sabina" or "~/docs" or what. What I really want is to have it in *both* sides, and while symlinks are nice, what I really want is a database query. This is where all those filesystems come to help - the world has been using the file/directory unix paradigm for 30 years, but that doesn't means it'll be forever the same, and the fact that unix didn't have it doesn't makes it a bad idea.

    2. Re:Interface to metadata? by Bogtha · · Score: 4, Interesting

      Well, what I want to know is: How do I get to this metadata? Some extra tool?

      One of the driving concepts behind ReiserFS is that metadata is nothing special, and it should be presented in the same namespace as the files themselves. If you read the article, it talks about using 'cat' and other simple tools to manipulate the metadata. Think something like 'cat /home/foo/music/some.mp3/artist' to display the person who performed a song.

      Some right-click option that I have to select every time I create a file?

      It depends on the metadata. Think about file permissions. That's metadata. All the files you create are given defaults based on your umask, and you can go in and change them at any time.

      In order to expose some of this metadata to the end-user in a GUI, yes, there will probably need to be some new UI work done. It doesn't all just magically work, it has to be presented to the end-user in some way that will make sense to them. So what I would expect is that the filesystem and plugins will be finished and done, and able to be manipulated by programs and shell scripts, and then it will take further work to integrate this metadata support into GUIs and file managers in a way that's useful to non-power-users.

      --
      Bogtha Bogtha Bogtha
    3. Re:Interface to metadata? by RAMMS+EIN · · Score: 2, Interesting

      ``Well, what I want to know is: How do I get to this metadata? Some extra tool? Some right-click option that I have to select every time I create a file? Will all File dialog boxes have to be rewritten, and will I have to manually input all this info?''

      How does metadata get into the ID3 tags of MP3s and the comments in Ogg Vorbis files? Wouldn't it be nice if that info were available through a standard interface? Wouldn't it be nice if the same interface provided access to metadata about movies? Webpages? Images? Search for all movies longer than 2 hours, or search for images of 1024x768 resolution? BeOS has a pretty nice interface to metadata. These sorts of searches are now starting to crop up in Windows, too.

      Reiser4 is about the only file system that implements metadata properly and efficiently. This could be a killer feature for Linux, if only Reiser4 were accepted in the kernel and some software written to take advantage of the features. It shouldn't be too hard to put some functionality in GIMP, Nautilus, some command-line tools, etc.

      ``Once there's an application which can find all pictures of my dog, or songs with piano in them, and store THAT in the metadata, which I can search somehow, call me.''

      AI is soooo 1960s. ;-) Maybe we should revive LISP and use reiser4 for efficient storage of CLOS objects? It's an idea I've been toying with for a while...it's crazy enough that it might just work. In the meantime, I already have a simple filesystem for Scheme objects on paper...I just have to get enough time one day to implement it and see if it's usable in practice.

      --
      Please correct me if I got my facts wrong.
    4. Re:Interface to metadata? by diegocgteleline.es · · Score: 4, Insightful

      If your not smart enough to remember how you file things, how are you going to be smart enough to remember the metadata needed to extract the files out of a database?

      Remember what?

      When I query something, I query what I _want_. Filesystem should provide me my files - there's nothing to remember. I'm already quering amarok interface with song names and it doesn't hurts. Same for spotlight - people likes it.

      Second people complain of Resier4's system overhead

      I don't understand those complains. I've seen benchmarks where reiser4 eats the double of CPU time than other filesystem. But then, it finishes the task in half of the time.

      Which is the whole point of a filesystem, mind you. If your filesystem is eating few CPU cycles, it means it's wasting time waiting for the disk. In a "perfect world", any filesystem would eat 100% - it'd avoid all the I/O. Reiser 4 complains about eating too many CPU can be partly because it is fast at I/O. I guess their algorightms are also very complex and burn lots of cpu cycles too - if you want to avoid I/O you need complex algorithms after all, right?

      CPU cycles are cheap. What do you prefer, a fast filesystem which doesn't eats cpu cycles (because it sucks and spends all the time waiting for the disk) or a filesystem which eats CPU power because it is fast?

    5. Re:Interface to metadata? by sasami · · Score: 4, Insightful

      Well, what I want to know is: How do I get to this metadata? Some extra tool? Some right-click option that I have to select every time I create a file?

      Anytime you save a file today, you're already manually specifying several pieces of metadata: the filename and the location.

      Anytime you access a file today, you're already manually specifying that metadata also.

      Consider how many clicks it takes to (graphically) navigate to a file from the root directory. That is exactly the number of metadata labels that you yourself supplied for that unique file's creation.

      So, the obvious generalization of this is to get rid of the hierarchy concept entirely. Then, as an earlier poster described, I can naturally tag my music by artist and by genre, instead of using symlinks to cut across trees.

      More practically, it would allow applications to install themselves using a unique tag, so that uninstalling (or moving, or archiving) the application requires just one query on just one tag, and is guaranteed to turn up any associated file regardless of its "location."

      --
      Dum de dum.

      --
      Freedom is not the license to do what we like, it is the power to do what we ought.
    6. Re:Interface to metadata? by 99BottlesOfBeerInMyF · · Score: 3, Informative

      Well, what I want to know is: How do I get to this metadata? ...Once there's an application which can find all pictures of my dog, or songs with piano in them, and store THAT in the metadata, which I can search somehow, call me.

      I take it you have not actually tried to use any of these new filesystems and their metadata. Metadata comes from lots of places. It comes from an internet database of music CD and movie DVDs. It comes from the OS intelligently reading the text contained within various file types (like text, rtf, .doc, PDF, PS, etc. etc.) and extendable by a plug-in type architecture. It comes from applications who assign it based upon given criteria, or from applications that create files which are now starting to assign more and more metadata to those files. It comes from hardware, like when your digital camera or PVR assigns dates to files it creates. It comes from users inputing it by hand, like when they go through their vacation photos and add a description for each picture.

      I use this metadata and perform searches on it every day. Why shouldn't I be able to do an easy search on my computer for every document, application, library, etc. that has the string "vpn" in it? Shouldn't I be able to find all references to MPLS in my files, whether or not they are in in text, .doc, .pdf, or some other file format? Shouldn't applications on my system be able to find and edit this data as well? Well, now I can (and they can) and I really, really like it.

      For some reason you are looking at the current limitations of metadata, i.e. optical recognition can't reliably identify my dog, instead of the advantages, which is all the information that can be reliably searched. Maybe right now I can't search for all my mp3's with a piano in them, but I can automatically tag all the audio coming in over the mic I have attached to the piano with metadata that says it is piano. Now fast forward 10 years and suddenly all of your files have a wealth of automatically generated data associated with them. In 10 years I will be able to search for all the mp3's that have piano in them, because my audio mixing program labels all the files with input from the piano mic with the proper metadata and why not. For a few seconds work up front I, and everyone using my files, gets additional functionality. Now apply that to all files from all sources and suddenly metadata has greatly improved the computing experience.

      Get with the times, metadata in the filesystem is here and it is very useful and it is becoming more and more useful every day.

    7. Re:Interface to metadata? by diegocgteleline.es · · Score: 2, Informative

      The "unit bastardization" is the A:, B:, C: thing

      It breaks the filesystem namespace, it's ugly, there's a nice paper from Rob Pike and Peter J Weinberg where they compare and explain different namespace choices for several operative systems (unix, plan9, dos, VMS): The Hideous Name

    8. Re:Interface to metadata? by ArsonSmith · · Score: 5, Interesting

      Another thing I thought sounded cool was the ability to cat /home/foo/music/some.mp3/raw > /dev/dsp and the mp3 would just play by using a plugin that ran it through an mp3 library. This would allow application developers to just access file/raw rather than worrying about file types and conversions.

      If I'm writing an image viewing program I no longer have to worry about hooks to libjpg, libungif, libpng, libevery image file type available. Let the OS care about file types and let applications deal with raw data and focus on interface rather than file types.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    9. Re:Interface to metadata? by CoughDropAddict · · Score: 2, Insightful

      This would allow application developers to just access file/raw rather than worrying about file types and conversions.

      Is that raw data big-endian or little-endian? How many bits per sample? What's the sample rate? How many channels? Interleaved or no?

      Will that pseudo-file support seeking? What sort of units will you seek in -- bytes, samples, frames, or seconds?

      What if I try to read 3 bytes, but the frame size is 4 bytes? My 3-byte read will never return any data, even though there's data left in the file. Or maybe it will return data, but return only a partial sample.

      What I'm getting at is that this stuff is more complicated than you might wish. It would be nice to say "the filesystem understands formats, now I never have to worry about them again!" But there is no canonical way to represent "raw" data -- part of what a format does is explain what that data is!

      Also, there's a cost associated with converting between formats -- trying to hide that will only impair the ability of application developers to optimize for their use cases.

    10. Re:Interface to metadata? by shutdown+-p+now · · Score: 2, Insightful
      Is that raw data big-endian or little-endian? How many bits per sample? What's the sample rate? How many channels? Interleaved or no?
      Well, noone stops you from opening and reading 'file/raw/bps', 'file/raw/endianness' etc. As long as we can agree on the common namespace for all audio files, I don't see why it won't work.
      Will that pseudo-file support seeking?
      Yes, if the plugin supports it.
      What sort of units will you seek in -- bytes, samples, frames, or seconds?
      Since file (even a pseudo one) is a stream of bytes, you obviously operate in terms of bytes.
      What if I try to read 3 bytes, but the frame size is 4 bytes? My 3-byte read will never return any data, even though there's data left in the file. Or maybe it will return data, but return only a partial sample.
      You know how TCP sockets present you a continuous stream of data, when in fact under the hood there are distinct packets of certain size sent back and forth? This problem has been solved ages ago.
      It would be nice to say "the filesystem understands formats, now I never have to worry about them again!"
      Oh, you certainly will still have to care. You just get a higher level of abstaction, such as 'audio stream' vs 'video stream' vs 'static image', as opposed to mp3/ogg/avi/mpg/gif/jpg...
    11. Re:Interface to metadata? by CoughDropAddict · · Score: 2, Interesting

      Well, noone stops you from opening and reading 'file/raw/bps', 'file/raw/endianness' etc. As long as we can agree on the common namespace for all audio files, I don't see why it won't work.

      OK, but that won't work for the "cat file.mp3/raw > /dev/dsp" case.

      The point of my criticism is that raw audio data isn't self-describing, so unlike text, you can't pipe it around without supplying some metadata. IMO a better solution than what you propose is to support an interface like file.mp3/wav, which is raw data, but has a WAV header to tell you how to interpret it.

  8. Non-wide page link by Alan · · Score: 4, Informative

    Here's a link to the page that hides the asshats making the pages super-wide with lame comments.

  9. Re:Maturity by nutshell42 · · Score: 4, Informative

    Anything more specific? I'm the first to admit that he can be rather immature, spoiled and inflammatory but a quick look at the link you offered showed none of these attitudes. Actually the discussion sounded quite civilized, so what's the problem?

    --
    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage
  10. Re:Maturity by HawkinsD · · Score: 4, Insightful
    The emotional maturity of the author seems irrelevant to the benchmarks for the filesystem.

    If benchmarks are even halfway legit, then this is indeed something amazing.

    --
    Never attribute to malice that which can be explained by mere idiocy.
  11. Re:Maturity by Tourney3p0 · · Score: 2, Insightful

    I definitely don't want to get into an argument of "He said/she said" here, but after looking at that link I don't see anything about the maturity of a ten-year-old. If anything, I wasn't too fond of someone saying that *anything* "had no place in Linux".

  12. When will it be "safe" to use? by bad_outlook · · Score: 2, Interesting

    I've been waiting until it's deemed "safe" to use, but it seems it's going on 2 years now or "not ready yet". I know it's ready when it's ready, but is there a timetable for it? I don't have a fast enough spare box to test it out, and I want to dig the faster FS perf on an SATA harddrive. Keep going Hans!

    1. Re:When will it be "safe" to use? by uhoreg · · Score: 2, Interesting

      Many people (including myself) have been using Reiser4 for quite a while now without any problems. The developers have stopped being able to find bugs, as far as I've heard, although the occasional bug does pop up on the mailing list (and is fixed rather promptly by the developers). When Reiser4 gets included into the mainline kernel and the number of users increases by an order of magnitude, it will be likely that some new bugs will be found. I might not trust million-dollar, mission-critical data on it just yet, but for personal use, it seems to be stable enough.

      --

      To get something done, a committee should consist of no more than three persons, two of them absent.

    2. Re:When will it be "safe" to use? by Anonymous Coward · · Score: 3, Interesting

      It is very stable already - I use it as the root filesystem on my laptops (mostly because laoptop disks are sooo slow and reiser4 mitigates this considerably).

      I have not suffered any problems whatsoever in more than a year. I have had power-cuts, battery problems, and even a few kernel panics and so forth due to ACPI bugs, and reiser4 hasn't lost a single file or even needed a fsck.

      Not to mention that its fast as hell.

      I still do make weekly backups though, since I don't trust the disk to survive very long - but I trust reiser4 enough to use it as my root fs (only other fs is ext2 for /boot) on my main machine.

  13. Re:Maturity by rca66 · · Score: 4, Informative
    If Hans himself had not also shown the maturity of a ten-year-old, his filesystem would've made the mainstream Linux kernel by now.
    Could you explain this remark? In the e-Mails exchange one can read there, it is clear, that Linus is not willing to put Reiser4 into the kernel - for pure technical reasons, not because something Reiser did or did not.
  14. For desktop use: UFS2 versus ReiserFS3. by CyricZ · · Score: 2, Interesting

    I recently switched a laptop from Linux with ReiserFS3 filesystems to FreeBSD 5.4 using UFS2 filesystems. The size of the filesystems were the same, and the usage pattern (program development, web browsing, etc.) the same.

    The UFS2 filesystems had the feel of being quicker than the ReiserFS3 filesystems. That said, I do not have any numerical data to back this up. However, untarring a large tarball consisting of many smallish files under FreeBSD felt quicker than doing the same under Linux.

    Would this difference be caused by the filesystems themselves, or would it most likely be a difference between the Linux and FreeBSD IO subsystems? Would ReiserFS4 be more comparable, if not better than, FreeBSD's UFS2 for workstation-style workloads?

    --
    Cyric Zndovzny at your service.
  15. Re:Who's on first? by MindStalker · · Score: 4, Informative

    XFS beta came out 9/22/2000 (its source code was first publically available on 3/30/2000) The first journaling version of reiserFS was release in november of 1999.

    JFS came later than XFS though I can't find the date.

    Of course officially ext3 came out before reiserFS in september of 1999, though ext3 is the real winner. Which produced workable code first I have no idea.

  16. Re:Maturity by Anonymous Coward · · Score: 2, Funny

    I was trolling.

  17. Re:Maturity by MemoryDragon · · Score: 3, Informative

    The german magazine iX ran benches on Reiser4 a while ago, and the benchmarks indeed were impressing with two huge downsides however, one is already mentioned in the interview, a reallocator is needed because Reiser4 has a tendency to fragment. And the other one being a much higer CPU usage than every other filesystem.

  18. Huh ? by drsmithy · · Score: 3, Interesting
    Comparing Reiser4 to WinFS, Reiser says in the interview, "Reiser4 is a much more mature design, representing a 10 year effort"."

    Comparing ReiserFS and WinFS is a bit like comparing Qt and Explorer - nonsensical. They're different things, operating at different levels, to serve different purposes.

    Come on, how are the parties involved supposed to carry any credibility when making such a *basic* and *fundamental* misunderstanding - /WinFS is not a filesystem/. They also seem to misunderstand what Spotlight is - again comparing it as a filesystem, when it isn't.

    1. Re:Huh ? by quasi_steller · · Score: 5, Informative

      Comparing ReiserFS and WinFS is a bit like comparing Qt and Explorer - nonsensical.

      Are you sure you understand what ReiserFS is suppose to do? What about WinFS? I don't think compairing WinFS to ReisierFS is quite like compairing Qt to Explorer. The functionality of WinFS is (as I understand things) a proper subset of the functionality of ReiserFS.

      They're different things, operating at different levels, to serve different purposes.

      Again, there purposes are not really different. Sure, ReiserFS is a full blown filesystem, and WinFS is not a filesystem, however the functionality of WinFS is included in ReiserFS. The fact that they operate at different levels is the reason for Reiser's remarks concerning ReiserFS and WinFS. That's his point. WinFS works on a user level to provide functionality that ReiserFS provides at the filesystem level, and Reiser feels that this is a more mature design.

      --
      ...interesting if true.
    2. Re:Huh ? by manyoso · · Score: 3, Funny

      "/WinFS is not a filesystem/"

      Then what does the FS stand for in the name? "Full 'o Shit"?

      And on the other side, I think I'm going to trust that Hans fucking Reiser knows what a filesystem is. Idiot.

    3. Re:Huh ? by Itchy+Rich · · Score: 2, Informative

      Sure, ReiserFS is a full blown filesystem, and WinFS is not a filesystem, however the functionality of WinFS is included in ReiserFS. The fact that they operate at different levels is the reason for Reiser's remarks concerning ReiserFS and WinFS. That's his point. WinFS works on a user level to provide functionality that ReiserFS provides at the filesystem level, and Reiser feels that this is a more mature design.

      Just in case anyone else has been watching this all go over their head: WinFS wikipedia entry

    4. Re:Huh ? by AnObfuscator · · Score: 2
      Then what does the FS stand for in the name? "Full 'o Shit"

      Future Storage.

      and technically, GP is right -- WinFS is an organisational system overlayed onto NTFS.

      Before you call someone else an idiot, try reading this: http://en.wikipedia.org/wiki/WinFS

      --
      multifariam.net -- yet another nerd blog
    5. Re:Huh ? by jiushao · · Score: 4, Informative
      Are you sure you understand what ReiserFS is suppose to do? What about WinFS? I don't think compairing WinFS to ReisierFS is quite like compairing Qt to Explorer. The functionality of WinFS is (as I understand things) a proper subset of the functionality of ReiserFS.

      Sorry, but ReiserFS v4 is a tiny subset of WinFS. I would say that the grandparents analogy is apt.

      To clarify: ReiserFS adopts database concepts in two ways. It uses a B-tree variation to allow efficient hierarchical storage layout and it uses it to allow single-process atomicity. That is all.

      WinFS on the other hand is an actual factual relational database (actually parts of MS SQL-Server) built on top of NTFS; a NTFS file is a special datatype among many others. One can specify relations and constraints as one would in a relational database. It has full atomicity (ACID), whereas ReiserFS's atomicity just gives a rollback local to a process. That is, any read or write may be transactionally inconsistent if there is more than one process dealing with the data whereas in WinFS one gets full support for transactions.

      In addition to the above WinFS of course provides the obvious big end-user features; Fast queries over all the data in a relational way, and triggers that allow actions performed when data is changed or queried (both of which OSX provides in a slightly more ad-hoc way on the side).

      So where does ReiserFS fit in? Well, the complaint that Hans Reiser has against WinFS is that not everything is a file, rather files is a special case mapping down to NTFS streams. Small auxilliary data is handled by other data-types in an SQL-like manner in WinFS, which to me at least seems like a quite sane approach. ReiserFS instead just optimizes the heck out of small files, planning to just take the UNIX principle to the limit, everything is a file, even if you just want to store a small integer. This makes everything fit into the classic filesystem namespace in a good way, but it is really less structured than the WinFS approach. WinFS relates whereas ReiserFS just provides really fast unstructured primitives.

      Overall I don't expect ReiserFS to be overly relevant to the OSS answer to WinFS, mostly because I don't really expect a OSS answer to WinFS on that level. While Microsofts approach is a great piece of engineering is is also a huge amount of work. More likely is that the Apple approach will continue to be the important one; Just add the stuff needed to get the actually important end-user features today, work on the low-level programmer features later.

      On the other hand ReiserFS v4 really appears to be very very fast. No doubt great features can be built on top of it, but on the other hand the classic VFS abstraction is a good thing. Swapping filesystems without impacting the userland is a feature that is really useful, so it seems fairly likely that the simpler approaches like Beagle will get to add the basic end-user features instead of fattening up the file systems (I highly disagree with Reiser that it is on the actual FS-level things should happen in the future). People who need databases can, *gasp*, use a database instead.

      In fact, I am suprised to not yet have seen systems like Gnome and KDE fire up a stripped down PostgreSQL process or something similar to provide applications with an excellent database for whatever their needs might be. For Microsoft doing a thing like that hurts the bottom line (they do charge a fair bit of money for SQL-Server after all), but there is no reason why an OSS platform should not utilize the best technology it has available at every turn.

      Oh well, getting off track. Summary: ReiserFS v4 is a tiny subset of WinFS feature-wise, it just does it very very fast.

  19. Re:Maturity by nutshell42 · · Score: 2, Informative

    Now having read all of the ML discussion in the link GP posted I still don't see how it shows Reiser's immaturity. He may be a bit overconfident about his ideas but that's not necessarily a bad thing. That said I wanted to add that the link is a very good read and it is about features of Reiser4 that may be more important than raw speed (especially raw speed according to benchmarks on Reiser's own homepage =).

    --
    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage
  20. Re:Maturity by BenjyD · · Score: 2, Interesting

    Is there any information on reliability, though? Saving a few seconds copying files is great, but if I end up losing data after a power failure it's not much use.
    Personally, I've found ext3 to survive crashes the best: xfs, jfs and reiser have all lost me data.

  21. Did they ever fix the performance issue? by james_shoemaker · · Score: 3, Interesting

    Last time I used Reiser I had to reformat back to ext. The starving problem basically made the kernel freeze when flushing buffers during large streaming writes. Is the Large writes starve reads issue gone yet? When I say large I am referring to streaming 12 gig (hour of DV) in a continuous write.

    James

    1. Re:Did they ever fix the performance issue? by pe1chl · · Score: 3, Interesting

      The problem is not really related to large files.
      When you copy a big tree from one disk to another, where the destination is Reiserfs (source may be Reiserfs as well) it is going to be slow.
      There is something in Reiserfs that causes the system to keep too much filedata in memory during writes. At some point it even starts to swapout running programs to make room for buffers for the writing, instead of just writing them to disk and freeing for new operations.
      The result is the "freeze" problem: everything you touch happens to be swapped out and needs to be brought back in, and all system RAM is used for useless buffers.

      Try copying something like 20-30GB on a system with 1GB or less of RAM, that should show the problem.

  22. Re:No one cares, but . . . by shmlco · · Score: 4, Insightful

    It's an INTERVIEW with the system's author and he's giving his opinion. Which, come to think of it, is what one DOES in an interview, you know, ask someone what they think? Sheesh.

    --
    Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
  23. Re:Maturity by g2devi · · Score: 5, Informative

    My understanding is that the kernel developers have pointed out flaws in the benchmarks and he has accepted the criticisms but points out that they are just benchmarks and all benchmarks have flaws. This would not be a problem if he didn't keep referring to the benchmarks when trying to ram a change into the kernel. You can't have it both ways.

    It's also my understanding that the key reason kernel developers don't want to accept his patches is that they don't like big megapatches that affect many systems or replicate functionality that is already in the kernel -- it's bad for maintenance. It's also my understanding that he doesn't want to break up the patches himself and he has refused help from others who are eager to do it for him. For him, it's an all or nothing deal -- take it or leave it. The kernel developers say "fine, we'll leave it", but he doesn't accept their decision and continues to complain. Again, you can't have it both ways.

    Reiser may be a genius, but even geniuses have to (*gasp*) live in the real world and negotiate with real people. Even if Reiser is smarter than all the kernel developers (doubtful), it pays to treat your so-called "inferiors" with respect. Even janitors and garbage collectors can have wisdom that we don't have and things they can teach us.

  24. Re:Maturity by cloudmaster · · Score: 2, Interesting

    Personally, I've found Reiser to be the best. I've lost data on ext2 and ext3, as well as jfs (and reiser, once). Overall, I've also lost weeks of time waiting for ext to fsck on an "unscheduled" reboot. :)

    Of course, this is moot since none of them will regularly lose files, and anything important is regularly backed up. Not to mention that a single UPS to weather minor power interruptions costs under $100... Right? ;)

  25. Filesystems in Userspace, Dammit! by RAMMS+EIN · · Score: 3, Interesting

    The thread you link to nicely illustrates the political manoevering necessary to get a filesystem accepted into the kernel. This is one good reason why filesystems should be implementable in userspace.

    There are so many wonderful things that can be done with filesystems once they can be added from userspace. How about transparently accessing files through SSH or FTP, from any application?

    There are various tricks that allow filesystems to be implemented in userspace, such as LUFS and FUSE. Other filesystems (especially the ones that are portable to other systems) pretend to be NFS.

    All of these suffer a performance penalty, but I wonder how much that really matters when you're interacting with disks or networks, which are very slow compared to the CPU and RAM anyway.

    Many things besides filesystems would benefit from being implementable in userspace, but filesystems are what I personally have thought about most.

    --
    Please correct me if I got my facts wrong.
    1. Re:Filesystems in Userspace, Dammit! by RAMMS+EIN · · Score: 3, Informative

      ``None of that has anything to do with the FS being in kernel or user space, there's no reason why I cannot create a FS module that allows people to mount SSH or FTP or anything else just like they can mount NFS or ReiserFS''

      I don't know if you've actually tried this, but I have. Between the fact that the VFS system is poorly documented and all Linux kernel internals are subject to change without notice, writing filesystems for Linux is a total nightmare. And then you have to do the work again for FreeBSD, NetBSD, and OpenBSD.

      Having things in userspace provides some form of shielding, and practice has shown that it lowers the barrier to implementing filesystems. Witness the great number of useful "filesystems" available through LUFS, FUSE, KDE, mc, GNOME, and others.

      --
      Please correct me if I got my facts wrong.
    2. Re:Filesystems in Userspace, Dammit! by RAMMS+EIN · · Score: 3, Interesting

      ``I don't think a user space implementation should ever become the conventional approach to file system design on Linux in the near future though.''

      Indeed, because Linux does not make an efficient microkernel. But the benefits of microkernels are well known, and things like QNX prove that performance does not need to be a problem. I think it's very possible that the next big open source OS is going to have a great microkernel as its killer feature. DragonflyBSD, perhaps? Or maybe some new incarnation of MINIX?

      --
      Please correct me if I got my facts wrong.
    3. Re:Filesystems in Userspace, Dammit! by oojah · · Score: 3, Informative

      sshfs/ftpfs/anything you want-fs: take a look at http://lufs.sourceforge.net/lufs/

      Fun stuff.

      Roger

      --
      Do you have any better hostages?
    4. Re:Filesystems in Userspace, Dammit! by abdulla · · Score: 2, Funny
      I think it's very possible that the next big open source OS is going to have a great microkernel as its killer feature.
      Do you mean GNU/Hurd? :)
      The L4 microkernel architecture does seem quite impressive though.
  26. bring on the meta data by cerelib · · Score: 2, Interesting

    I really would like a metadata driven system. Instead of the traditional file dialog for saving or opening files it would be cool to just specify some metadata and have it thrown on a heap of files. I think this is kind of what winFS is trying to accomplish, but above the filesystem level. Hopefully that is in the future of every OS. And if not, or is some better idea comes along, then I guess some time in the future I will pick up a database implementation book and a file systems book, study up and work on it myself.

  27. 10 years? by jshaped · · Score: 2, Funny

    "Reiser4 ... representing a 10 year effort"

    obligatory comment:

    by the time longhorn (vista?) is released, it too will be a 10+ year effort.

  28. 10 year maturity by LordMyren · · Score: 3, Interesting

    Normally you have to release something before it can mature. OTherwise its called development...

    Still waiting on that plugin system, thanks. Should be good though. No hurry, but if you could even begin to release some info on /how/ its structured, how devels will be able to use it, how we'll be architecting solutions with Reiser4 plugins, it'd be much appreciated.

    -Lord "I hope I havent missed anything in all these years waiting" Myren

    1. Re:10 year maturity by bobbuck · · Score: 2, Informative
      Go to the Namesys website, it gives a very complete discussion of the filesystem and the source code is well documented. Regular files and directories are plugins if I understand it right. You can use that as a starting point. Oh, and it's fast.

      www.namesys.com

  29. Re:Maturity by Nigel_Powers · · Score: 2, Funny

    He struck me as having a disdain for authority and a dislike of hierarchy for the sake of hierarchy. I would think he's highly creative with a touch of genius. The proof is in his filesystem.

    I'm much the same way -- well, except I'm a dumbass.

  30. Re:Maturity by LWATCDR · · Score: 3, Interesting

    Actually I didn't see much immaturity. Okay Linus saying microsoft will get a files system right when hell freezes over seemed a little immature.
    Frankly Reiser4 looks like a good project.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  31. Required reading by grahamlee · · Score: 2, Informative

    People who think they need to implement spotlight, HFS+ xattrs or Reiser should read Practical FileSystem Design (pdf) then just go away and use BeFS instead.
    [Actually, the person who implemented HFS+ xattrs and worked in the Spotlight team was the guy who wrote Practical FileSystem Design, so I think that counts :-)]

  32. Other filesystems: XFS (SGI) and GPFS (IBM) by otisg · · Score: 2, Informative

    There are 2 other significant players in the FS field that Hans doesn't mention:
    XFS (from SGI) and GPFS from IBM.

    GPFS has a different focus, but XFS seems to be aimed at solving similar problems as ReiserFS (scalability, high performance, journaling).

    --
    Simpy
  33. Re:Kernel vs User Mode for filesystem by juanescalante · · Score: 2, Informative

    It was not Hans who wrote that, it was Linus in response to Hans' claims that Reiser4 is important because it can compete with WinFS and Spotlight.

  34. Re:Maturity by globalar · · Score: 5, Insightful

    Yeah, that's not a good link. Try this kerneltrap one. Things have been brewing. I haven't kept up with the most recent stuff, though.

    It's really a design/people issue. There are the lingering issues of stability and similar, but these are not (as I understand) the original problem.

    Reiser4 incorporates some sophisticated metadata concepts ("semantics") that are in effect a software layer over the fs - which is why Hans can compare it to WinFS. Some of these features step into the functionality domain of the VFS and the kernel. Not a bad thing, per se.

    Now, we all know the stereotypical kernel dev - technically conservative, concerned about maintenaince, not really keen on making big compromises, and annoyed by ego (again, a stereotype). Keep that in mind.

    Hans of course wants Reiser4 into the kernel. What's the holdup (from a technical design standpoint)? Well, individuals like Andrew Morton want functionality in the kernel that can be reused in a file-system nuetral fashion. Reiser4 has a plugin system, but it's a Reiser4 plugin system. Reiser4 and Hans want to extend Linux as an API, which right now will just be for Reiser4.

    There are also some lingering details of how this will change the course of filesystem integration in the kernel, in regards to traditional POSIX and Unix-like behavior. I don't recall any enduser problems, but there are few complaints.

    Why might this be annoying? Well, Hans wants his fs into the kernel now and he makes the case of its superiority, the markets demand, and the need to compete with companies like Microsoft. I wouldn't be the one to tell kernel devs that they need to compete with MS, but Hans is - to say the least - confident. And he did name the filesystem after himself, so I'm not how this couldn't be personal on some level.

    The middle ground is to say to Hans: we'll take Reiser4, but we want these Reiser-only features to be ultimately modified for all capable filesystems. Hans insists - and I'm sort of generalizing here - that the details can be sorted out, but right now we should go with Reiser4 and not worry about making it anything but a great fs.

    So, Hans took a "assertive" position on why Reiser4 should not only be included in the Linux kernel but also change the kernel. Linus, Morton, and a few others took a stand and said - in so many words - "Hans, we aren't putting your ego into our kernel. Not even experimental."

    It would be interesting to see if end users put enough momentum behind Reiser4 to put in into mainline or start it in 2.7.

    Is that worth a few flames? ;) If I butchered anybody's perspective, please correct me. I don't do kernel dev or psychology.

  35. rlocate is good for single user systems by Trigun · · Score: 2, Interesting

    but it is horrible for a large networked filestore. The heirarchies that the secretaries at work come up with are convoluted at best, and it takes a long weekend to even attempt to comprehend the logic of their naming convention. When they lose a file, or forget what it was named, when they last worked on it, but can tell you that it was an ISO file (which in itself is ironic), coupled with the fact that they often change the file extensions on their files to random numbers, or try to change it to .pdf to save it as a pdf file, metadata makes a lot of sense.

  36. Re:Kernel vs User Mode for filesystem by uhoreg · · Score: 2, Insightful
    The problem isn't that Microsoft is using a microkernel (which they aren't, BTW -- at least not the last I heard). It's that WinFS is a separate library that sits on top of the storage layer. This means that programs must use a completely different API to access WinFS, rather than just using normal filesystem calls.

    You also seem to be mixing up the issue of microkernels and monolithic kernels. Apple's OS X uses a microkernel, but the operating system is still monolitic, so all the important stuff is still part of a single big process; the microkernel is basically just an abstraction layer. Hurd is a microkernel but uses multiple servers, so all the subsystems are separate.

    And /. is not one monolitic entity either.

    --

    To get something done, a committee should consist of no more than three persons, two of them absent.

  37. Re:Kernel vs User Mode for filesystem by hansreiser · · Score: 4, Informative

    I never said the above words attributed to "Rieser".

    I am sure of it becuase I would absolutely never say that "Linux kernel developers do what's right because it is _right_, not because somebody else does it.".

    I am just not that nice a guy that I would say such a thing.:-/ I am guilty of saying the opposite at various times. I am known for this, and not particularly liked for it.:-)

    This is a forged quote. Note the false defensiveness put into it in the sentence "So there's really no point in trying to push your agenda by trying to scare people with MS activities." That really sounds like someone at MS posted this.

    It does not matter so deeply that MS put it into or out of the kernel, what matters is how they layered the code relative to itself --- that is, do they use the FS API, which lacks an insert or excise operation, to repack small objects that they squished together within a file, and does that layering make things slow. I think it almost certainly does make it slow, and it definitely is inelegant.

    Hans Reiser
    Reiser4 Architect
    Namesys

  38. Been using Reiser 3 for a long time by ericzundel · · Score: 2, Interesting
    We used Reiser 3 for a long time on our systems in with the 2.4 series kernels. It may not have been the "first" journaling filesystem for linux, but at the time we installed, it was the first production ready version. We were very thankful for it reducing the time to reboot and fsck on our (at the time) very large filesystems.

    Over the past several years, we had pretty good luck with using Reiser on root and data filesystems. Good luck in the sense that we never encountered something we couldn't recover from. However, we did have more than one instance of filesystem corruption that would crash the kernel (We used it on several of our development servers). The warnings on the 'rebuild tree' utility weren't very reassuring, but it always seemed to work. We also had instances of corrupt files by sticking random bits of data of other files at the end.

    I'm migrating our servers slowly over to ext3 as we upgrade them, mainly because it is more mainstream and I prefer my source code sunny side up as opposed to scrambled. I noticed that the same number of files seems to take up less room (10% or so?) on the disk overall with Reiser than with Ext3 (as reported by df).

  39. Re:Maturity by CdBee · · Score: 2, Interesting

    Also, a lot of the truly great programmers of our age have had personality flaws.. possibly a degree of autism-like inability to interface to other people is symptomatic of the mindset that understands computer systems. God knows, we geeks face dumber forms of that assumption every day!

    --
    I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
  40. general FS question by nickos · · Score: 2, Interesting

    I've been thinking about starting up a file system project (as you do), and was wondering if anyone has thought of using something like the FUSE kernel module with a database (say MySQL or Berkeley DB) to create an easily indexible file system. The idea is to create a basic proof of concept using FUSE and if it gets any interest turn it into a proper (kernelspace) FS.

    What sort of problems can I expect to face?

  41. Re:Kernel vs User Mode for filesystem by hansreiser · · Score: 2, Funny

    Ah that's hilarious, ok, yeah, it was Linus saying it. Apologies for not remembering and thinking it was someone at MS.:-))) Can't imagine why the poster put my name on it though.....

    Hans Reiser

  42. Re:Kernel vs User Mode for filesystem by Yokaze · · Score: 3, Informative

    Those are the words of Linus Torvalds in response to someone suggesting that Reiser4 should be merged, in order to stay competetive with WinFS and Spotlight. To counter the reasoning, Linus Torvalds stated the following seperate points:

    1. WinFS is not the real filesystem, the real filesystem (NTFS) still runs in kernel mode. WinFS is "merely" a set of libraries in user-space, like gnome-storage. So, you can't derive a need to push such functionality into the Linux kernel.
    2. Trying to push some functionality into the kernel with the reason to compete with Microsofts development won't work, because they do what they think is right, not in order to compete with someone else.

    --
    "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
  43. Does Reiser4 work in a 64bit environment on AMD64? by t35t0r · · Score: 2, Interesting

    The topic in channel #gentoo-amd64 on irc.freenode.net has said "Reiser4 is evil" for more than a year. Does anyone know if Reiser4 actually works in a x86_64 environment?

  44. Re:Maturity by Arandir · · Score: 2, Interesting

    Now, we all know the stereotypical kernel dev - technically conservative, concerned about maintenaince, not really keen on making big compromises, and annoyed by ego

    You make that sound like a bad thing!

    I'm not a kernel developer, but as a professional software engineer I do know that conservative development is the best policy. Users tend to want the opposite unfortunately. They don't care how rotten and worm-ridden the inside of the apple is, so long as the outside is bright and shiny.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  45. IBM's JFS by jd · · Score: 2, Interesting
    I believe IBM's JFS (which, as its name implies, is a journalling filesystem!) was one of the first journalling filesystems for Linux - it beat SGI's XFS on being first out the door, although IBM took longer to get it stable. SGI were really quick to move from a mere code dump to a usable filesystem.


    Not really looked at GPFS, but if IBM's history is anything to go by (JFS, M:N threading, the DAISY code translator, etc) it'll be revolutionary, be an inspiration to a thousand projects, and get forgotten as it is overtaken.


    Sad, but true - IBM has done masses for Linux, in terms of proof-of-concpet, forcing the pace and introducing new idead. Unfortunately, they then drop the ball. It hasn't mattered much, as others have gone running with the ideas, but it would be nice if IBM saw a real return on their investment by keeping on until their technology is adopted.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  46. Re:Kernel vs User Mode for filesystem by hansreiser · · Score: 3, Interesting

    Well, that makes a lot more sense now, and surely the poster was just confused rather than malicious.

    Linus and I disagree on this point, a pity that.

  47. Re:Does Reiser4 work in a 64bit environment on AMD by Make · · Score: 2, Informative

    last week, I formatted my new USB hard drive with reiser4. It works well with both 32 and 64 bit (kernel and userspace), no problems so far.

  48. Re:No one cares, but . . . by h4rm0ny · · Score: 4, Insightful


    I just come from a time and place where being objective and modest about your own trade or art speaks far stronger than unmodest self-PR work.

    Having read the entire interview, I found nothing in it that made me think of Hans Reiser as engaged in unmodest self-PR work. Contrary to the tiny snippet you quoted, he doesn't slate WinFS. He says that it is doing interesting work. Nor is it particularly immodest to say that his file system is considerably more mature when he's spent almost 10 years more on it than the other.

    Reading the article, the parts that you consider immodest seem to me, to be just sincere enthusiasm for his work. And there's nothing wrong with that.

    Contrary to the title being "no one cares", I think the replies so far show that people do. :)

    --

    Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
  49. Re:Maturity by ratta · · Score: 4, Insightful

    More CPU % time is used because Reiser4 is faster. What should be compared is the overall CPU power needed for a filesystem operation. And even if reiser4 is really using more CPU, remember that the CPU power is growing much faster than hd speed.

    --
    Wondering why i am doing so strange posts? I am trying to get a "+5,Flamebait" or "-1,Insightful" rating.
  50. Re:Kernel vs User Mode for filesystem by colinrichardday · · Score: 3, Informative

    The quote is genuine, but it is from Linus Torvalds. Gee, he really believes that Linux kernel developers do things because those things are right? How'd have thought that?

  51. Just 3 and 4? by JourneyExpertApe · · Score: 2, Funny

    ...Hans Reiser, the author of two revolutionary Linux filesystems, Reiser3 and Reiser4.

    So who authored Reiser1 and Reiser2? Was it Paul Reiser? Do you have to be named Reiser to work on the filesystem, or was it just a coincidence? Inquiring minds want to know.

    --
    If you can read this sig, you're too close.
  52. Re:Maturity by swillden · · Score: 5, Insightful

    There's nothing a janitor or garbage collector can teach me or you, or most others on Slashdot.

    How about humility?

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  53. Re:Maturity by swillden · · Score: 2, Insightful

    Why is it that 'feel good' euphemisms have more standing than reason?

    What are the odds that your lack of humility is actually reasonable? I was a freaking genius until I got out of college and met the real world.

    And, if you must compare yourself to others, be very, very careful about doing it based on how they earn their living. I've known some pretty amazing janitors, for example, including one who was a very skilled Unix admin and programmer. I know another who janitor who is an extremely accomplished SCUBA diver who devours academic papers on decompression theory and writes his own software to calculate deco schedules for multi-stage, mixed-gas diving -- that's very complex stuff. He's also a skilled mechanic, welder, finish carpenter and a general jack of all trades -- but one who doesn't like to be tied to a job he can't just walk away from at any time. I know a garbage man who I call whenever I need help with my car or boat engines. I know a mail room guy who left a position as head chef of a top-notch restaurant, because he didn't like the stress. If you were to talk to him for a couple of minutes, you'd realize he's smart enough to do just about anything he wants... but what he wants is a low-stress, easy job that lets him focus on his life. He's an amazingly good mail room guy.

    Judging people by their occupations is not just arrogance... it's high foolishness.

    And all of that is just "hard" knowledge. There's a vast oceean of softer wisdom whose acquisition depends less on intelligence and more on time and, for lack of a better word, open-mindedness. A willingness to learn from anyone, ranging from the director of a research lab to a fifteen year-old kid with Downs Syndrome, will teach you more useful lessons about how to live a productive, happy life than you'll ever be able to discover on your own. Collectively, all of the people around you are much smarter than you are, even if you're individually smarter than every one of them.

    I'm still working on learning how to put aside my prejudices and get what I can from everyone I meet. It's really hard, but well worth it.

    Consider that for better or for worse, humility will not help you succeed in today's world.

    But arrogance will regularly torpedo you. I've also known some great programmers who were such prima donna SOBs that they eventually couldn't find employment.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.