{"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_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},"_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":[],"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":8319,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/12\/10\/disappearing-files\/","url_meta":{"origin":25080,"position":3},"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":9587,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/10\/19\/generating-ultimate-movie-wishlist-with-perl-and-imdb\/","url_meta":{"origin":25080,"position":4},"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":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}]}}