{"id":25080,"date":"2015-12-26T12:14:16","date_gmt":"2015-12-26T10:14:16","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=25080"},"modified":"2015-12-26T12:14:16","modified_gmt":"2015-12-26T10:14:16","slug":"files-are-hard","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/","title":{"rendered":"Files Are Hard"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties.png?ssl=1\" rel=\"attachment wp-att-25081\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"25081\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/fs_properties\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties.png?fit=656%2C332&amp;ssl=1\" data-orig-size=\"656,332\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"fs_properties\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties.png?fit=656%2C332&amp;ssl=1\" class=\"aligncenter size-medium wp-image-25081\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties-500x253.png?resize=500%2C253&#038;ssl=1\" alt=\"fs_properties\" width=\"500\" height=\"253\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties.png?resize=500%2C253&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties.png?w=656&amp;ssl=1 656w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&#8220;<a href=\"http:\/\/danluu.com\/file-consistency\/\">Files Are Hard<\/a>&#8221; is one of those articles that show how complex even the simplest of things are. \u00a0How complex is writing to a file? \u00a0Well, quite. \u00a0Especially if you want to make sure there&#8217;s no corruption in case of a crash. \u00a0It goes both over the theory and practice, looking at different file systems.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>&#8220;Files Are Hard&#8221; is one of those articles that show how complex even the simplest of things are. \u00a0How complex is writing to a file? \u00a0Well, quite. \u00a0Especially if you want to make sure there&#8217;s no corruption in case of a crash. \u00a0It goes both over the theory and practice, looking at different file systems.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Files Are Hard #programming #linux #ComputerScience","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,6,18,62],"tags":[1192,616],"keyring_services":[],"class_list":["post-25080","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-programming","category-technology","tag-computer-science","tag-filesystem"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"&quot;Files Are Hard&quot; is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there&#039;s no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Files Are Hard - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"&quot;Files Are Hard&quot; is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there&#039;s no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-12-26T10:14:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-12-26T10:14:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Files Are Hard - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"&quot;Files Are Hard&quot; is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there&#039;s no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#blogposting\",\"name\":\"Files Are Hard - Leonid Mamchenkov\",\"headline\":\"Files Are Hard\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/fs_properties-500x253.png\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#articleImage\"},\"datePublished\":\"2015-12-26T12:14:16+02:00\",\"dateModified\":\"2015-12-26T12:14:16+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#webpage\"},\"articleSection\":\"All, Linux, Programming, Technology, Computer Science, filesystem\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"name\":\"Linux\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"position\":3,\"name\":\"Linux\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#listItem\",\"name\":\"Files Are Hard\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#listItem\",\"position\":4,\"name\":\"Files Are Hard\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/linux\\\/#listItem\",\"name\":\"Linux\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/\",\"name\":\"Files Are Hard - Leonid Mamchenkov\",\"description\":\"\\\"Files Are Hard\\\" is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there's no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/12\\\/26\\\/files-are-hard\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2015-12-26T12:14:16+02:00\",\"dateModified\":\"2015-12-26T12:14:16+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Files Are Hard - Leonid Mamchenkov","description":"\"Files Are Hard\" is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there's no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#blogposting","name":"Files Are Hard - Leonid Mamchenkov","headline":"Files Are Hard","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/12\/fs_properties-500x253.png","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#articleImage"},"datePublished":"2015-12-26T12:14:16+02:00","dateModified":"2015-12-26T12:14:16+02:00","inLanguage":"en-US","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#webpage"},"articleSection":"All, Linux, Programming, Technology, Computer Science, filesystem"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","name":"Linux"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","position":3,"name":"Linux","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#listItem","name":"Files Are Hard"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#listItem","position":4,"name":"Files Are Hard","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/#listItem","name":"Linux"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/","name":"Files Are Hard - Leonid Mamchenkov","description":"\"Files Are Hard\" is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there's no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2015-12-26T12:14:16+02:00","dateModified":"2015-12-26T12:14:16+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Files Are Hard - Leonid Mamchenkov","og:description":"&quot;Files Are Hard&quot; is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there's no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.","og:url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2015-12-26T10:14:16+00:00","article:modified_time":"2015-12-26T10:14:16+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Files Are Hard - Leonid Mamchenkov","twitter:description":"&quot;Files Are Hard&quot; is one of those articles that show how complex even the simplest of things are. How complex is writing to a file? Well, quite. Especially if you want to make sure there's no corruption in case of a crash. It goes both over the theory and practice, looking at different file systems.","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"25080","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 12:38:21","updated":"2026-01-15 11:57:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/\" title=\"Linux\">Linux<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tFiles Are Hard\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Linux","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/linux\/"},{"label":"Files Are Hard","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/26\/files-are-hard\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":11301,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/06\/16\/blob-is-bad-for-your-mental-health\/","url_meta":{"origin":25080,"position":0},"title":"BLOB is bad for your (mental) health","author":"Leonid Mamchenkov","date":"June 16, 2008","format":false,"excerpt":"If you ever mention that your web application uses database to store files, you risk being flamed into oblivion.\u00a0 Indeed, in most cases, it is a bad idea, since file system is more effecient when it comes to files.\u00a0 However, there are cases when it makes sense to have files\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8009,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/10\/06\/copying-files-to-remote-destinations-with-bells-and-whistles\/","url_meta":{"origin":25080,"position":1},"title":"Copying files to remote destinations.  With bells and whistles.","author":"Leonid Mamchenkov","date":"October 6, 2004","format":false,"excerpt":"If you ever had to copy a file from one machine to another over a network, chances are you know more than one way to do it by now. Especially if you were doing it on some Unix machine. If you are still struggling, here is a short list to\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7810,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/08\/17\/file-formats\/","url_meta":{"origin":25080,"position":2},"title":"File formats","author":"Leonid Mamchenkov","date":"August 17, 2004","format":false,"excerpt":"Programmers have to deal with different file formats pretty often. Openning files, writing files, converting files, exporting and importing files - all these are pretty common tasks. Files come in different formats. Some are open and well-known, others are closed and proprietery. Wotsit's format website attempts to collect and document\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9587,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/10\/19\/generating-ultimate-movie-wishlist-with-perl-and-imdb\/","url_meta":{"origin":25080,"position":3},"title":"Generating ultimate movie wishlist with Perl and IMDB","author":"Leonid Mamchenkov","date":"October 19, 2005","format":false,"excerpt":"One of the things that will go into history with the year 2005 is the number of bad movies produced by Hollywood. IMDB says: Hollywood is mired in its biggest box-office slump in over 20 years. With all those bad movies around, finding something worth the time and effort becomes\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8319,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/12\/10\/disappearing-files\/","url_meta":{"origin":25080,"position":4},"title":"Disappearing files","author":"Leonid Mamchenkov","date":"December 10, 2004","format":false,"excerpt":"Some known facts can use more reminders... Fedora Core Linux 2, as well as many other Linux and Unix machines, has a script (\/etc\/cron.daily\/tmpwatch) that is regularly executed by cron, which goes around your temporary directories and removes old files. This is a very useful utilty which helps to keep\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":118,"url":"https:\/\/mamchenkov.net\/wordpress\/2003\/01\/14\/practical-rpm\/","url_meta":{"origin":25080,"position":5},"title":"Practical RPM","author":"Leonid Mamchenkov","date":"January 14, 2003","format":false,"excerpt":"This document presents few practical tips for users of Redhat Pacakage Manager (RPM). Introduction This document will not cover or explain any theory behind RPM, since it has been nicely done in few other documents. Please consider reading man rpm for a general list of options and RPM-Howto for the\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/25080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=25080"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/25080\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=25080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=25080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=25080"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=25080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}