Home InternationalFiles are fraught with peril...
InternationalтнР Featured

Files are fraught with peril

This is a psuedo-transcript for a talk given at Deconstruct 2019. To make this accessible for people on slow connections as well as people using screen readers, the slides have been replaced by in-line text (the talk has ~120 slides; at an average of 20 kB per slide, that's 2.4 MB. If you think that's trivial, consider that half of Americans still aren't on broadband and the situation is much worse in developing countries. Let's talk about files! Most developers seem to think that files are easy. Just for example, let's take a look at the top reddit r/programming comments from when Dropbox announced that they were only going to support ext4 on Linux (the most widely used Linux filesystem). For people not familiar with reddit r/programming, I suspect r/programming is the most widely read English language programming forum in the world. The top comment reads: I'm a bit confused, why do these applications have to support these file systems directly? Doesn't the kernel itself abstract away from having to know the lower level details of how the files themselves are stored? The only differences I could possibly see between different file systems are file size limitations and permissions, but aren't most modern file systems about on par with each other? The #2 comment (and the top replies going two levels down) are: #2: Why does an application care what the filesystem is? #2: Shouldn't that be abstracted as far as "normal apps" are concerned by the OS? Reply: It's

7 April 2026 at 11:34 am
1 views
Files are fraught with peril

Files are fraught with peril, a topic explored in a pseudo-transcript for a talk given at Deconstruct 2019. The presentation aimed to make the content accessible for users on slow connections and those using screen readers by replacing slides with inline text. The talk, spanning around 120 slides, totals 2.4 MBтАФa figure that may seem trivial, but it's essential to consider the global internet access disparities. Half of Americans still lack broadband, and the situation is even more challenging in developing countries.

The talk delved into the misconception that files are straightforward for developers. To illustrate this, the speaker examined the top comments from r/programming, a widely read English-language programming forum on Reddit, when Dropbox announced it would only support ext4 on Linux, the most widely used Linux filesystem. The top comment questioned why applications need to directly support file systems, arguing that the kernel abstracts these details. The commenter suggested that the only differences between file systems are file size limitations and permissions, with modern systems being largely comparable.

The second comment posed a similar question: "Why does an application care what the filesystem is?" Responses emphasized that the operating system should handle such abstractions. However, a deeper dive revealed that this abstraction is not perfect. A key reply highlighted that each file system has its own bugs and requires specific fixes in the Dropbox codebase. Supporting more file systems necessitates additional testing to ensure functionality.

Further replies questioned Dropbox's need for file system specificity, pointing to existing tools like inotify and distributed storage software that function seamlessly. The confusion stemmed from the assumption that applications should not be concerned with file systems, given the kernel's role in abstraction. Yet, the reality is more complex. File systems can introduce subtle issues that impact application performance and reliability, even if the kernel mitigates many differences.

In conclusion, the talk underscored that while developers often overlook the intricacies of file systems, they are far from simple. The abstraction provided by the kernel is leaky, and applications must still account for file system-specific nuances. This awareness is crucial for building robust, cross-platform applications that function reliably across diverse environments. The discussion serves as a reminder that even seemingly mundane aspects like file systems can pose significant challenges, requiring careful consideration and testing.

ЁЯУ░ Related News
Ollama 0.2.6 Released with Native Gemma 4 Support and Enhanced Performance
Ollama 0.2.6 Released with Native Gemma 4 Support and Enhanced Performance
Ollama 0.2.6 is now live, featuring native support for Google's Gemma 4 models and improved local inference performance for Windows, macOS, and Linux.
14 Apr
Weekly news roundup: Shortages spread to MLCCs; SK Hynix reportedly in talks with Microsoft and Google
Weekly news roundup: Shortages spread to MLCCs; SK Hynix reportedly in talks with Microsoft and Google
Below are the most-read DIGITIMES Asia stories from the week of April 6-April 13, 2026:
14 Apr
cutile-stencil 0.2.0
cutile-stencil 0.2.0
An xDSL-based stencil compiler that generates optimized GPU kernels via NVIDIA cuTile
14 Apr
merlin-llm added to PyPI
merlin-llm added to PyPI
Merlin тАФ a fast local LLM for agentic coding on Apple Silicon
14 Apr
Fluent Cut - Craft and compose videos programmatically in PHP with an elegant fluent API
Fluent Cut - Craft and compose videos programmatically in PHP with an elegant fluent API
Craft and compose videos programmatically in PHP with an elegant fluent API - b7s/fluentcut
14 Apr
Crypto Investor at Center of Trump Corruption Allegations Now Sees Himself as тАШVictimтАЩ
Crypto Investor at Center of Trump Corruption Allegations Now Sees Himself as тАШVictimтАЩ
Justin Sun has accused Trump-affiliated World Liberty Financial of misconduct and a general lack of transparency.
14 Apr
nvidia-nat-weave 1.7.0a20260413
nvidia-nat-weave 1.7.0a20260413
Subpackage for Weave integration in NeMo Agent Toolkit
14 Apr
nvidia-nat-s3 1.7.0a20260413
nvidia-nat-s3 1.7.0a20260413
Subpackage for S3-compatible integration in NeMo Agent Toolkit
14 Apr
Social Security Trust Fund to Run Dry in 2032: Just 6 Years From Now
Social Security Trust Fund to Run Dry in 2032: Just 6 Years From Now
Six years. That is how much time separates retirees from a Social Security system that, by its own projections, runs out of money. If you are 56 years old...
14 Apr
cane-gpu-perf added to PyPI
cane-gpu-perf added to PyPI
GPU inference benchmarking with opinionated diagnostics
13 Apr