News for hackers. Stuff that matters.
[dead]
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by dang on Wednesday December 01, 2021 @02:26PM (#29408033)
Please don't take HN threads on generic flamewar tangents. They're repetitive, shallow, and tedious, and usually get nastier as they go along. We're trying for the opposite sort of conversation here.

https://news.ycombinator.com/newsguidelines.html

We detached this subthread from https://news.ycombinator.com/item?id=29403597.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by tytso on Wednesday December 01, 2021 @12:26PM (#29406474)
The goal of academic research is to explore ideas, which are judged by submitting papers to conferences for review, and to train the next generation of academics (i.e., graduate students) in coming up with ideas, proving them, and then writing up said ideas and the proof that they work well. It is not to create a production quality software, which is an orthogonal set of goals and skills.

The key thing to remember is that THERE IS NOTHING WRONG WITH THIS ACADEMIC PROCESS. I go to the Filesystems and Storage Technology (FAST) conference, where many of these BetrFS papers were published, to harvest ideas which I might use in my production systems, and of course, to see if any of the graduate students who have decided that the academic life is not for them, whether they might come to work for my company[1]. I personally find the FAST conference incredibly useful on both of these fronts, and I think the BetrFS papers are super useful if you approach them from the perspective of being a proving ground for ideas, not as a production file system.

So it's unfortunate that people seem to be judging BetrFS on whether they should "trust my data/workloads to such systems", and complaining that the prototype is based on the 3.11 kernel. That's largely irrelevant from the perspective of proving such ideas. Now, I'm going to be much more harshly critical when someone proposes a new file system for inclusion in the upstream kernel, and claiming that it is ready for prime time, and then when I run gce-xfstests on it, we see it crashing right and left[2][3]. But that's a very different situation. You will notice that no one is trying to suggest that BetrFS is being submitted upstream.

A good example of how this works is the iJournaling paper[4], where the ideas were used as the basis for ext4 fast commits[5]. We did not take their implementation, and indeed, we simplified their design for simplicity/robustness/deployment concerns. This is an example of academic research creating real value, and shows the process working as intended. It did NOT involve taking the prototype code from the jJournaling research effort and slamming it into ext4; we reimplemented the key ideas from that paper from scratch. And that's as it should be.

[1] Oligatory aside: if you are interested in working on file systems and storage in the Linux kernel; reach out to me --- we're hiring! My contact information should be very easily found if you do a Google search, since I'm the ext4 maintainer

[2] https://lore.kernel.org/r/[email protected]

[3] https://lore.kernel.org/all/[email protected]/

[4] https://www.usenix.org/conference/atc17/technical-sessions/p...

[5] https://lwn.net/Articles/842385/

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by throwaway02201 on Wednesday December 01, 2021 @10:15AM (#29404408)
I hope you are being downvoted for the harshness and not the content.

> Like many research projects, this one will also probably last as long as there is funding. Remember, the goal of PhD students is to publish papers, not develop and maintain software. Thus, without skin in the game, I couldn’t trust my data/workloads to such systems.

Sadly true. For-profit companies only care about $$$. Academia only cares about publishing to get funding.

Both options are not ideal for developing trusted and user-focused software in the long term. OpenSSL is a good example.

No-profits really struggle to get funding. Government grants are a mess.

The world really needs a new approach to R&D.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by globular-toast on Wednesday December 01, 2021 @10:41AM (#29404811)
> Academia only cares about publishing to get funding.

That's just not true. To do well in academia you have to be truly invested in your field. You can just about get by if you're only in it for the papers, but it's just like getting by in a job that you're only in for the money. At the end of the day, though, in a world where everyone is forced to be productive or be homeless, there are times when publishing becomes a necessity. This doesn't mean they only care about publishing, though.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by esyir on Wednesday December 01, 2021 @11:03AM (#29405113)
It is however, very much a follow the incentives kinda situation. Just as the monetary incentive can also bring about many unwanted behaviour. The pride /publication based incentives introduce their own flavour of dysfunction.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by goodpoint on Wednesday December 01, 2021 @12:40PM (#29406692)
> To do well in academia you have to be truly invested in your field

I never said the opposite. For individuals it takes a huge lot of dedication.

But academia, as a whole entity, is being forced into the publish-or-die mindset.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by gnufied on Wednesday December 01, 2021 @09:48AM (#29404088)
Looks like only works with Linux kernel - 3.11? https://github.com/oscarlab/betrfs/blob/master/README.md , so definitely have not been updated for awhile.

I am not even sure it wants to be production ready but may be it is a playground for ideas.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by donporter on Wednesday December 01, 2021 @12:14PM (#29406296)
Indeed, we are behind on releases. We do anticipate a major release, including 4.19 kernel support, in the coming months.

Part of our challenge is that we are also exploring non-standard extensions to the VFS API - largely supported by kallsyms + copied code to avoid kernel modifications. This makes rolling forward more labor intensive, but we are working to pay down this technical debt over time, or possibly make a broader case for a VFS API change.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by all2 on Wednesday December 01, 2021 @10:29AM (#29404626)
Extricating something from specific kernel API calls won't be fun. Might be a good learning experience, tho. I may take a crack at this in my spare time (I'm not good at C. At all. So this will be more learning for me, and much less functional).
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by mirekrusin on Wednesday December 01, 2021 @10:22AM (#29404513)
Tokutek's fractal tree was quite known when they did backend for mongodb on it with record breaking perf, from what I recall it was patented and that was the reason people didn't dive into it.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by hhmc on Wednesday December 01, 2021 @09:20AM (#29403803)
Where did you get the impression that this is the product of PhD students?
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by lvh on Wednesday December 01, 2021 @09:26AM (#29403856)
Not OP, but the majority of people involved have .edu homepages (stints in industry, still research emphasis) and many of the alums appear to have become alums contemporaneously with the end of their academic career, most of them via Stony Brook, and finally there are a bunch of academic papers with authors clearly acting in their academic capacity (and typically prior to their stints in industry), so, IDK, seems like a reasonable assertion that this has a strong academic emphasis and a lot of the work was done by academic students. Whether it's actually unreliable is a different question, but it seems pretty reasonable to suggest that it's a research project and not a production filesystem.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by knl on Wednesday December 01, 2021 @09:35AM (#29403960)
The sibling comment described it well. In addition, the majority of github commits are done by the people that are listed in the alumni section, while they where PhD students. There aren’t many commits from people listed as current members, and last significant commits are from the last year.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by klyrs on Wednesday December 01, 2021 @10:57AM (#29405009)
Nobody is asking you to deploy this in your production system. This is about an experimental filesystem which supports exactly one version of the Linux kernel. It's neat to see progress in this field -- maybe try and learn something new?

And, the way to get production-ready code is to write a kernel module, with hopes that others in the kernel community will pick it up. Linux certainly didn't start out mature, but you're probably using it now.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by _jal on Wednesday December 01, 2021 @09:45AM (#29404038)
It is both kind of hilarious and kind of terrifying to see this sort of anti-academic, anti-expert nonsense is bleeding in to %$&#ing software development.

All your written-in-production, battle-hardened code with no effete book-larnin' algorithms aren't going to run very well without a functional electricity grid.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by rackjack on Wednesday December 01, 2021 @12:08PM (#29406182)
What is going on? The grandparent comment is merely noting the novelty of a filesystem utilizing a recently invented data structure. The parent is weirdly mentioning how they wouldn't trust a research filesystem for real work (who would...?). Now THIS comment is claiming the parent comment is anti-academic and anti-expert when it's actually mainly raising common concerns about the disconnect between theory and practice (then this comment mentions the electricity grid, as if that's of any relevance??). Just a really strange series of disconnects between the arguments.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by SkyMarshal on Wednesday December 01, 2021 @01:38PM (#29407411)
The grandparent comment is an example of the kind of “middlebrow dismissal” [1] that isn’t really welcome here.

It sets the tone with dismissive snark (“find and dandy”), then implicitly asserts that the project is not interesting because it’s not production-ready.

Of course it’s obvious to everyone here that version 0.2 beta software is not production-ready, so obvious that comments to that effect are at best superfluous, at worst annoying.

But its production-readiness is clearly not the focus of the discussion, rather its novelty and potential is. That’s what makes it interesting and worth discussing here.

[1]: https://news.ycombinator.com/item?id=4693920

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by freedomben on Wednesday December 01, 2021 @11:22AM (#29405404)
I'm extremely pro-academic, but I think you're taking the least charitable interpretation of the parent. While I fully disagree with the parent on the value proposition here, they are quite correct that (at least most) phds aren't concerned with implementation problems like corner cases and long term maintenance. There are of course exceptions, but having worked on quite a bit of academic code, I can say that anecdatally maintainability is not a high priority. It's very much like a typical PoC is in a startup.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by cormacrelf on Wednesday December 01, 2021 @11:30AM (#29405539)
Why is this relevant? Just looking at the title and abstract, it is clearly among the most implementation-focused computer science papers ever written. It's the paper that accompanies BetrFS 0.2, incorporating that source code (which clearly has to handle edge cases), many measurements and discussions of tradeoffs. What more are you people asking for?

> looks at extremely practical paper, which rightly won a best paper award, probably for the very reason that it was extremely practical

> decides to have the thread descend into a dismissal of the value of best paper awards on the basis that they do not reward practicality

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by sfink on Wednesday December 01, 2021 @11:45AM (#29405797)
It's possible to regard the paper as high value, appreciate its value, and recognize that this is not a production filesystem.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by lhorie on Wednesday December 01, 2021 @12:08PM (#29406186)
To be fair, FAT32 is a production filesystem...
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by pittmajp on Wednesday December 01, 2021 @04:21PM (#29409283)
Why was the fact that it's not a production file system even brought up? Was it advertised as a production file system? Does the paper say that it is one? What was the rhetorical purpose of that statement?
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by knl on Wednesday December 01, 2021 @12:07PM (#29406167)
I don’t think I dismissed the value of the paper. I pointed out that implementation may not be that good, and best paper award and quality of the implementation most of the time are not correlated.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by cormacrelf on Wednesday December 01, 2021 @12:25PM (#29406455)
You dismissed the value of the paper about ten times in a row, barely stopping for breath. Some of the tone is found in which thing goes on what side of the word "but", some in other words, but generally you really messed it up if you wanted to avoid insulting the authors and dismissing the value of research like this. There is an enormous gulf between a comment like yours

> That’s all fine and dandy, but [...] Winning best paper awards doesn’t say a thing about the implementation [...] the goal of PhD students is to publish papers [...] I couldn't trust [this]

and a comment like this

> This is a really impressive project. Obviously this is deeply academic, but since I am so impressed, I wonder what the plans are for this (or the same idea in a new fs) to reach the kind of commercial quality where I can use it in a production system.

If you were so aware of the general nature of academic research vs battle-tested implementations, then you would also know that filesystems are so incredibly complicated that the latter invariably takes on the order of 10+ years from a big team to create. When you forget this fact and say that a few-years-old implementation probably sucks because it's from academia, you're ignoring that NOBODY could have made it production-ready in that time, not even Microsoft or Apple or Oracle. Why would you criticise it on this basis? Choosing to do that was the biggest dismissal of the value of the work. Instead, you buried what was in effect a compliment (this would be useful for my production systems) under ten layers of insults.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by tytso on Wednesday December 01, 2021 @01:01PM (#29406949)
The iJournaling paper was published in 2017 (and like many papers, it took multiple rounds of paper submissions before it was finally accepted; the academic procress is rigorous, and many program committees are especially picky).

The jJournaling ideas hit the upstream kernel in 2021 as ext4 fast commits, and no I don't consider it production ready yet. If the fast commits journal gets corrupted, it's possible that the file system will not be automatically recoverable, and may even lead to kernel crashes. I'd give it another year or so before it's completely ready for prime time.

But the other reason for the four year delay between 2017 and 2021 is because I had to find the business justification (and after that, the budget and head count) to invest the SWE time to actually implement the idea. A lot of people want new sexy file system features, but very few people are willing to PAY for them. So part of the job of an open source maintainer is not just to perform quality control and create a technical roadmap, but also to help the developers workin on that subsystem to make business cases to their respective employers to make a particular investment. The dirty little secret is that most people are pretty happy with the file systems as they currently exist; the bottleneck is often not the file system, and while certain file system features are _nice_, they very much aren't critical --- or at least not enough that people are willing to pay the SWE cost for them.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by mlyle on Wednesday December 01, 2021 @01:08PM (#29407035)
> anecdatally

Is this an anecdote vs. data pun? :D

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by freedomben on Wednesday December 01, 2021 @04:43PM (#29409518)
Yes haha, sorry I use it way too much and it's become part of my vocabulary
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by toast0 on Wednesday December 01, 2021 @10:55AM (#29404985)
I understand some of the frustration though. I was trying to do some audio processing work once. Found the paper(s), which promised code available from websites that are no longer available. Dug through the internet archive to find the zip files with the matlab code; managed to tweak it to run with the matlab version I have; found it works as described with the sample inputs, but crashes horribly on my inputs.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by tytso on Wednesday December 01, 2021 @01:12PM (#29407095)
Source code availaility for academic papers is important for reproducibility, so other people can run additional experiments and demonstrate that the performance numbers in the paper weren't fudged.

It's not necessarily going to be useful for production use. There are exceptions to this; for example, there are papers were the authors claim that a flash/SSD emulator is suitable for use by other academics to experiment with their FTL ideas, or to grab network traces from NFS traffic so they can be replayed to test file system performance using real world data. In those cases, the point of the paper is to share a tool that can be used by other researchers (as well as the team that created the tool in the first place), and in that case, the code had better d*mned well work. (But even then, there might be buffer overrun bugs in the SSD emulator; which is fine, since the FTL is intended to be provided by an academic researcher, and it is not expected to accept arbitrary inputs including from a malicious attacker.)

I don't know whether the papers in your case were meant to be documentation for code that was meant to be shared, or to explore a particular research idea, the code was only meant for that particular purpose. Even if it was for the former, there's an awful lot of bitrotted, unreliable "abandonware" on sourceforge or github that can be pretty skanky; that's a problem which is not restricted to academically published papers.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by lijogdfljk on Wednesday December 01, 2021 @11:04AM (#29405135)
I've been debating where the anti-science behavior stems from. From reasonable people at least. The best i can come up with is that most reasonable people recognize how the modern age is an information war. Product sales, articles on economy, articles on politics, even some well advertised miss-steps like the sugar industry pushing/funding pro-sugar anti-fat papers way back (which may or may not be true, but it is a common trope parroted).

I assert that all this leads to people being paranoid about information of subjects well outside their expertise. Which is a really scary place to be. The answer seems non-obvious to me, but is likely nuanced.. and the public doesn't do well with propagating nuance in my experience.

I'm really interested in tooling to help disseminate information.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by Raineer on Wednesday December 01, 2021 @11:12AM (#29405261)
When I encounter it, I feel it's often a hatred of the "doers vs the thinkers"

My career path was 25 years engineering, before migrating into a hybrid EE/PM role as sort of a natural progression from being "the engineer who knew how to run the project". Once I started learning the more formal approaches to PM, it uncovered an entire world of engineers who have an incredible hatred of any sort of planning of any kind, because all planning time is wasted and we should all just be doing.

The parent comment here feels the same way. Hatred towards research because it's all theoretical (I guess?). It seems clear as day that the best approach is a marriage between the two.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by quintushoratius on Wednesday December 01, 2021 @11:46AM (#29405800)
I think it's summed up by the mantra "those who can, do. Those who can't, teach."
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by gfody on Wednesday December 01, 2021 @11:49AM (#29405853)
I suspect "hatred of any sort of planning of any kind" is actually hatred for planning that fails to embody any actual strategy (and is therefor a waste of time because it doesn't help solve any actual problem except maybe alleviate non-technical vips anxiety with false hope). "formal approaches to PM" evokes just that sort of thing in my mind (kpis/goals masquerading as strategy, gantt charts, etc)
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by willis936 on Wednesday December 01, 2021 @02:45PM (#29408251)
When I worked in a university lab that builds stellarators I learned that misgivings towards researchers is all bullshit. There are engineers and there are pencil pushers. Pencil pushers burn money and bark loudly. Real engineers can plan and execute on time and under budget.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by Zababa on Wednesday December 01, 2021 @11:48AM (#29405845)
I think one source of anti-science behaviour might be betrayed expectations. I know that I personally have stronger expectations for academia and scientists than for other people. So when someone from academia, a scientist, an engineer betrays these expectations, I feel worse than if a regular person did it. There's a feeling of "If we can't even count on those people, what are we even supposed to do?". For example, at the beginning of the COVID pandemic (around January 2020), I read a lot about it. Lots of very smart people were saying that this could be a big pandemic. I talked about it with a doctor in a non-professional setting that told me to basically not worry about it, that it wasn't going to be anything huge. This time I was right and he was wrong. Was it because I searched more about it? Was it just luck? I don't know. But I know that it made me lose a bit of trust with that person.

I think the origin of this might be on how I (or we) see those people. You're supposed to follow what the doctor tells you, what the scientists tell you. But in a way, since you're supposed to follow what they say, they have some kind of responsibility towards you. And when they say something wrong, it's way worse than when a regular person says something wrong. It's like when you're young and your teacher or your parents are wrong, it's very frustrating.

Your example about the sugar industry is also a great one. Try to understand a bit more about nutrition, and soon you'll hear all kind of conflicting advice and explanations from very different experts.

I know that personally I have to work on myself and accept that those people are humans, and make mistakes, just like me. But just like telling people to eat less and move more didn't solve the obesity epidemic, I'm not sure that this solution will scale to a large population.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by _jal on Wednesday December 01, 2021 @12:06PM (#29406151)
This is interesting, and I've seen a bit of this sort of behavior, too.

Some people seem to confuse expertise for a claim of infallibility, and when some expert get something wrong, the reaction is to conclude that expert advice is worth no more than the guy on the teevee hawking vitamins and anti-expert bile.

It is a sort of Leveler belief wrapped in a search of an Oracle.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by michaelmrose on Wednesday December 01, 2021 @01:39PM (#29407418)
Something you may be more familiar with is people's concept that someone that "knows computers" is familiar with any and every sort of task that involves a computer whereas in fact this could encompass a wide variety of different skills that require an individual investment of time.

The same can be said of medicine where encompasses a very broad set of skills. Your doctor may have been an expert in sports medicine or brain surgery but it doesn't automatically make him competent and epidemiology. It also doesn't force him to pay attention to current developments in the news which is likely what informed your opinion. Personally I found it was completely obvious in January that we would be dealing with a crisis because I followed the situation and suspect strongly that your doctor friend did not.

There is also the issue of survivor-ship bias. We worry about many things and we will absolutely recall the times our worry was justified and forget when it we are mistaken. If Yellowstone ever blows there will be many people who knew it was just around the corner and this will be true if it blows now or in a century, whether or not we have any scientific basis for the thought process.

TLDR: A singular doctor of unknown specialty getting it wrong in January isn't a flaw in science. Science isn't expected to be very good at ensuring a single expert of only tangential expertise gives you the right answer whereas it is reasonable good groups sometimes slowly arriving at increasingly correct answers. If you want a more correct answer consider consulting or reading what several people of relevant expertise who are up to the minute on current information have to say.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by GhettoComputers on Wednesday December 01, 2021 @01:08PM (#29407040)
Readers of Nassim Taleb, doubts raised over our blind trust of institutions like their reaction to coronavirus, any mainstream nutritional advice (fat is bad and causes heart disease, “the China study” was written by a nutritional biochemist), papers that p hack to be published, replication crisis of psychology, statistics and using it to lie.

There is no paranoia, an allegory is an ivory tower of studies about language from non native speakers with a PhD, and a native speaker who gets no recognition for using it daily but doesn’t have a fancy diploma or credentials so someone who speaks “proper” Spanish from Spain who has never been to Spain is more “credible” than the Mexican speaking “improper” Spanish daily.

Academia is to be ignored unless it’s relevant, Fritz Harber didn’t need the Nobel prize to have real world effects in nitrogen fixing to help farmers grow and sustain our population, Obama wasn’t more relevant because of his Nobel prize, and Perelman’s refusal of the Fields Medal doesn’t change his contributions.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by SkyMarshal on Wednesday December 01, 2021 @01:50PM (#29407554)
Readers of Nassim will also recognize his critiques of academia are mainly targeted at social sciences and similar fields that can only “prove” their findings statistically, where p-hacking and incorrect use of models and wrong distributions and the like result in bad findings passed off as good.

That’s not the case with computer science, at least in systems subfields like filesystems, where theories can be implemented in isolation and shown to either work or not.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by GhettoComputers on Wednesday December 01, 2021 @02:04PM (#29407749)
Disagree. Artificial benchmarks and p hacking for showing good performance in CS are also statistically proven. The best result in geekbench doesn’t mean anything to me.
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by SkyMarshal on Wednesday December 01, 2021 @02:49PM (#29408301)
Benchmarks and geekbench are not "where theories can be implemented in isolation and shown to either work or not."
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by GhettoComputers on Wednesday December 01, 2021 @02:53PM (#29408340)
Maybe I don’t understand your point, in psychology for example sterile lab tests are isolated and can be shown to work or not, is it not the same idea here?
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by SkyMarshal on Wednesday December 01, 2021 @05:51PM (#29410187)
CompSci theories are essentially mathematical proofs. You create a proof of something, then you build it to test it, to make sure your math is actually correct, and that the theory works in implementation.

Proof of correctness doesn't rely on having a large cohort of test subjects undergoing an experimental trial of some sort, and then interpreting the results with statistical models, distributions, p-values, etc.

I don't know psychology in depth, but if there are similar kinds proofs without requiring statistical analysis of a large experimental cohort, then I don't think Taleb's criticisms are aimed at those either.

It's the fundamental problem of knowledge - can truth be known via logic and reason, or via empiricism and observation? The answer to both is, sometimes, but with caveats.

Peter Norvig also wrote a good take on all the ways studies using experimental cohorts can go wrong: https://norvig.com/experiment-design.html

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by wittycardio on Wednesday December 01, 2021 @09:34AM (#29403948)
You realize that most of the core software that we depend on was built by graduate students right ? Idk why the average programmer assumes that PhDs in freaking computer science can't code. Implementation and edge cases are the easy part, the hard part is design and algorithms. One just requires some focused work , the other requires real skill and intelligence
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by knl on Wednesday December 01, 2021 @09:42AM (#29404012)
Sorry, but this is nonsense. Look at the chubby implementation and the subsequent paper - implementation and edge cases were the hard part, that took a lot of skill to get right. The algorithm is important, but labeling one as easy is far away from real world experiences.

I never assumed that PhD students can’t code. They can and they are pretty good at that. My point is that their incentives are in writing papers and running experiments that support claims in their papers, not produce reliable software. It might be reliable, but mostly it’s not. When we use tools build by PhD students, it’s usually when there are companies/startups built around it, and that is what I refer to as having skin in the game.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by wittycardio on Wednesday December 01, 2021 @09:54AM (#29404150)
Fair enough I misunderstood your point then
Re:BetrFS: an in-kernel file system that uses Bε trees to or... by mbreese on Wednesday December 01, 2021 @10:35AM (#29404710)
> PhDs in freaking computer science can't code

I’ve known people with PhDs in computer science (from a top tier school) that couldn’t code. Their research was all done in Matlab for simulations, modeling a biological process. It was a very specific set of skills required. And at the time, this person couldn’t have written a web front end to a database to save their lives.

Just because one is good at the theory behind CS doesn’t mean they understand software engineering. Similarly, because one is good at the theory doesn’t mean they can’t code.

They are two related, but different, skill sets.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by pxc on Wednesday December 01, 2021 @12:03PM (#29406109)
> > PhDs in freaking computer science can't code

and many graduates in freaking computer science can't read or write proofs, either

> They are two related, but different, skill sets.

exactly.

I think it would be valuable to enforce more crossover in our educational institutions, though. We should have clearer boundaries between computer science and software engineering, and then also require students (at every level) in each to do some study in the other.

Researchers should be in touch with the concerns and needs of ordinary programmers, and ordinary programmers should be capable of looking at the output of researchers to take good ideas and make them practicable and polished.

Sometimes the disconnect means research effort gets wasted and practical technology lingers on designs that serve it relatively poorly.

But of course software engineering and computer science are distinct and deep specializations.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by sfink on Wednesday December 01, 2021 @11:42AM (#29405746)
> average programmer assumes that PhDs in freaking computer science can't code.

Average programmer here. PhDs in computer science can't code.

Ok, it's an overgeneralization. And it's probably based on a flawed sample of job applicants that make it past HR screening to get to me. The base rate of applicants who can't code is disturbingly high, probably around 20%. (Not that high numerically, but given that they've passed pre-screening and have something impressive-sounding on their resume, it's too high.) The rate of applicants with a PhD in CS who can't code is way higher, probably around 60%.

Note that these tend to be fresh graduates. And it even makes sense -- most theses require just enough coding to prove a point or test a hypothesis. In fact, the people who like to code tend to get sucked into the coding and have trouble finishing the rest of their thesis work, which may start out interesting but soon gets way less fun than the coding part. Often such people bail out with an MS instead of a PhD.

(Source: personal experience, plus talking to people I've worked with, plus pulling stuff out of my butt.)

At the same time, many of the best coders I know have PhDs.

> Implementation and edge cases are the easy part, the hard part is design and algorithms.

Hahahaha. <Snarky comment suppressed, with difficulty.>

I agree that design and algorithms can be hard. (Though they usually aren't; the vast majority of things being built don't require a whole lot.) But the entire history of our field shows that even a working implementation Just Isn't Good Enough. Especially when what you're writing is exposed in a way that security vulnerabilities matter.

Though it's a bit of a false dichotomy. Handling the edge cases and the interaction with the rest of the system requires design, generally much more so than people give it credit for. Algorithms sometimes too, to avoid spending half your memory or code size on the 1% of edge cases.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by rswail on Wednesday December 01, 2021 @02:37PM (#29408150)
PhD CS scientists shouldn't have to be able to code. They are exploring the science of computing, not the implementation.

Developing queueing theory doesn't make you a great coder for Kafka environments.

Working on file system design and new innovative data structures (a persistence and retrieval environment) has nothing to do with writing kernel drivers.

On the other hand, a lot of SE graduates dont want to code, because they think there should be code writing tools and frameworks and infrastructure and process.

They'll spend endless hours talking about those things and focusing on their own needs instead of the actual purpose of the code they're supposed to be developing.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by gnufied on Wednesday December 01, 2021 @09:58AM (#29404204)
I have a feeling that - software along with hardware today has got lot more complicated than what was 30-40 years ago.

Most production software (esp low level stuff like Kernel, filesystem) today is written and maintained by people having that work as jobs. I wish it was any other way. Also, what users expect from production software is way different than situation 30-40 years ago. An Operating sytem must work for different CPU, GPU. A bare-bones OS is basically a non-starter. I mean look at Haiku-OS or any of other operating system projects, for most part they have gone nowhere.

A filesystem is also fairly complicated piece and what we expect from a filesystem is different. Speed is good but that is not the only criteria and I am afraid it does take serious engineering effort (edge cases and all) to get it usable on today's hardware.

Re:BetrFS: an in-kernel file system that uses Bε trees to or... by WastingMyTime89 on Wednesday December 01, 2021 @09:44AM (#29404031)
I think it’s more that people believe (in my opinion rightfully) that good design is a skill which comes with experience. That’s why I expect great algorithms and small software from graduate students and awesome design from established teams working on large scale problems.

That doesn’t really apply here obviously. The BetrFS team has experienced members.