Code and Crime: The Tragic Story of ReiserFS Creator
Explore the dark tale of Hans Reiser, a brilliant Linux contributor who created the revolutionary ReiserFS file system but ended up convicted of murder. This story interweaves technical innovation, personal tragedy, and the human cost of genius.
In this compelling story, we explore the rise and fall of Hans Reiser, the creator of ReiserFS filesystem. From his early days as a programming prodigy to his tragic end, this article delves into how a brilliant mind behind one of Linux's most innovative filesystems took a dark turn that shocked the open-source community.
Since its inception in 1991, over 20,000 people have contributed to the Linux kernel. Among them are amateur enthusiasts, hackers, researchers, and employees employed by large companies. One of them made outstanding contributions to the development of Linux, but eventually became a murderer.
This person is Hans Reiser.
The Early Years: A Programming Prodigy
The Linux kernel follows elite management, and only the best code can enter Linux. The code written by Hans is the best code. He is a child prodigy who was unsociable in his childhood and suffered from rejection and abuse from his classmates.
At the age of 13, he dropped out of junior high school because he despised the rigid and traditional education system. At the age of 15, Hans was admitted to the University of California, Berkeley, but he did not study hard and only obtained a Bachelor's degree in Computer Science 13 years later.
During this period, he invented a role-playing game, wrote a science fiction novel about an alien invasion of Earth, and then discovered something that he was super interested in: Linux. He thinks that the Linux file system is not good enough and wants to make it faster and more efficient.
What is a file system? There is a wonderful metaphor: the file system is the librarian of the disk.
When placing a new book in the library, the administrator needs to find an empty bookshelf, place it there, and update the card catalog (equivalent to an index) to record the specific location of the book, so that the book can be found in the future.
What would happen if there was a sudden power outage and the room went dark while you were doing this? The librarian may have found the bookshelf, but the books haven't been placed yet, or they have been placed but the catalog hasn't been updated yet.
This semi-finished state has caused the entire system to crash and crash. You have to run a disk inspection tool and wait for a few hours. Additionally, as the number of files increases, performance issues may arise and the system may slow down.
In 1993, at the age of 30, Hans wanted to solve this problem, but it was not something that one person could handle alone. He needed a team.
The Birth of ReiserFS: Innovation Meets Opportunity
At that time, the Soviet Union had just disintegrated, the economy had collapsed, and life was difficult.
Those talented programmers with excellent mathematical foundations in Russia cannot find jobs or earn money. Hans saw the opportunity and flew to Moscow to organize these programmers and let them work together with him to realize ReiserFS' dream.
Hans actually doesn't have a lot of budget. He works hard, strives to make money, and has changed several companies, Synopsys, Sun, and even worked part-time at a military research center. Then the money earned will be paid to these Russian programmers. Although the money is not much, it is definitely a timely help to the struggling Russian programmers.
Hans travels back and forth between the United States and Russia, urging the team to strive for excellence, ensuring clean code and efficient algorithms. With his continuous efforts, ReiserFS gradually took shape.
ReiserFS is completely designed from scratch, with several unique skills:
Technical Innovations of ReiserFS
-
Journaling Mechanism: Before modifying each actual data, the corresponding logs have been written to the hard drive, ensuring the security of files and data and solving the problem of power outages when placing books in the library.
-
Advanced Small File Handling: ReiserFS uses a data structure called B* - tree, which allows small files to be directly stored in the leaf nodes of the B* - tree, making it highly efficient. When processing files smaller than 1k, the efficiency can be about 10 times faster than ext2.
-
Space Optimization: Reiserfs does not allocate inodes to some small files. But instead, these files are packaged and stored in the same disk partition, which is very space saving.
-
Enterprise-Scale Storage: ReiserFS can easily manage file systems up to hundreds of gigabytes, with a maximum supported file system of 16TB, making it ideal for enterprise level applications.
The superior performance has made ReiserFS favored by many companies and become the default file system for SUSU Linux.
For countries with very poor economies and bleak prospects, it may be an attractive way for young women to marry wealthy Westerners (especially Americans). After World War II, the Philippines was like this, and it was also like this after the dissolution of the Soviet Union. A business called "mail order bride" flourished, and marriage agencies would advertise women who wanted to get married in paper catalogs, the internet, television, or other forms of advertising. Wealthy Westerners would choose from these lists.
Of course, this relationship is also full of danger and fraud, such as divorcing on the second day after getting married and obtaining a green card.
In March 1998, at the age of 35, Hans met mail order bride Nina Sharanova in Russia. Nina was a doctor, and Hans fell in love with her at first sight. He guaranteed her entry into the United States, and the two quickly fell in love and got married.
In September 1999, their first child was born. At this time, ReiserFS has gained recognition from the open source community, with both love and career flourishing, and everything looks very happy.
The Personal Tragedy: From Success to Downfall
But the seeds of crisis were also quietly planted. For ReiserFS, Hans spent most of his time in Russia, while Nina had to take care of her children alone in the United States, facing a new culture and life on her own.
The conflict between the two began to erupt, and Nina had her own dream of becoming a doctor in the United States. Hans believes that Russian women should stay at home, give up their careers, take care of their children, and focus on their families.
Nina felt very lonely and trapped in a suffocating marriage.
In 2001, Hans founded a company called Namesys, which not only maintained ReiserFS but also began the development of a new file system called Reiser4.
The Pentagon provided $600,000 in funding to Namesys to support the development of Reiser4, with Hans working with his team of programmers in Moscow for a long time and Nina serving as the company's CFO.
But soon after, the company's cash reserves inexplicably shrank rapidly. Hans' father, who was once an army intelligence officer during the Vietnam War, "evaluated" his daughter-in-law and warned his son that she was dishonest and suspected that she had misappropriated funds for unknown purposes, but Hans did not believe it.
The company had no money to pay salaries, so Nina found Hans' childhood friend Sean and convinced him to lend Namesys a large sum of money.
Not long after, there was a scandal between Nina and Sean, and Sean exposed Nina to ecstasy. "It seems like both of them are seeking more and more excitement and going further and further," he said.
Angry Hans accused Sean of being a "tattooed, drug addicted" guy who conspired with Nina on Namesys' assets. Sean, on the other hand, said Hans was arrogant and thought he was the greatest programmer in the world.
In terms of raising children, the two also had many conflicts. Hans let the child play violent video games so that the child could be exposed to the real world and instill masculinity in the little boy.
Nina believes that the monsters and death scenes in video games can harm children, and that children need a safe and comfortable environment, not a virtual battlefield.
Their son Rory has behavioral problems such as anxiety and nightmares. Nina took Rory to see a doctor, but Hans didn't think it was a normal phenomenon in his growth. Nina fabricated the condition in order to obtain custody.
Various contradictions accumulated, and the conflict escalated continuously. The two began to separate and file a lawsuit. In December 2005, the court awarded full custody to Nina, and Hans had visitation rights.
At this point, ReiserFS was also exposed for issues. Although it is very suitable for handling small files, it cannot be extended. It is unable to handle increasingly common massive datasets and high-capacity workloads.
But Hans doesn't care, he's not very interested in fixing ReiserFS. He has Reiser4, the next generation file system that will solve all problems.
Hans is too focused on his vision: to establish a perfect file system and an orderly data kingdom. But it ignores the real world: software needs to be maintained, and communities need to collaborate.
He had serious conflicts with Linux kernel developers, and the father of Linux was not interested in Reiser4.
On the one hand, there are failed marriages and family conflicts; On the other hand, there is a debate within the open-source community.
Hans was under increasing pressure and lost control.
The shadow of childhood abuse began to appear, and he targeted the people who had hurt him.
The Final Chapter: A Community in Shock
On the afternoon of September 3, 2006, Nina brought her child to Hans' mother's house, where Hans also lived.
Two children went to play in the basement, and Nina and Hans had a heated argument upstairs. The trigger was their son's illness. Nina said she now had full custody and wanted to continue taking the child to see a psychologist. Hans was furious and punched her in the face, locking her throat with his arm.
Since then, Nina has disappeared and no one has seen her again.
The police monitored Hans and finally discovered his missing Honda Civic sedan, with blood stains matching Nina's DNA inside.
Hans was arrested and convicted of first-degree murder.
But there is a huge gap in the case, as the police unanimously failed to find Nina's body, just like a key data in the file system - Nina's location - was lost.
In July 2008, Hans reached a plea agreement with the authorities, revealing the burial location of the body in exchange for a reduced sentence.
The Linux community is shocked and incredulous by Hans' crimes, and ReiserFS is also ashamed because of Hans.
In 2022, ReiserFS was deprecated by Linux and is planned to be removed by 2025.
Hans believed that his Reiser4 would completely change Linux, but now it seems impossible.
In 2023, Hans in a California prison sent a long letter discussing the development of ReiserFS and the mistakes he had made.
Finally, he said:
I learned it in prison "Solving problems through communication" And I believe that I can solve problems through communication. I hope to learn these skills before I get married or join LKML (Linux Kernel List). I also hope to one day teach these things in elementary school.
The story of Hans Reiser serves as a sobering reminder of how brilliant technical achievements can be overshadowed by personal tragedy. His contribution to Linux filesystem technology remains significant, even as the community grapples with the human cost of genius gone wrong.
The whole article is finished. If you think it's good, click on it like perhaps I'm watching Go ahead!
Related Posts
C++26: The Most Influential Release Since C++11, Microsoft Architect Reveals
Explore how C++26 is set to revolutionize the language with groundbreaking features in reflection and security, marking the most significant evolution since C++11, as revealed by former Microsoft Visual C++ architect Herb Sutter.
Simplifying Rust Imports: A Guide to Reducing Module Redundancy
Learn how to streamline your Rust codebase by eliminating redundant module imports using pub use re-exports. This comprehensive guide shows you how to write cleaner, more maintainable Rust code while preserving modularity.
King of Performance: The Fastest Programming Language
A comprehensive comparison of programming language performance through billion-level loop iterations, featuring C, Rust, Zig, and Go.