PodSearch

Hypercritical

57: Computational Skeuomorphism

 

00:00:00   [Music] [TS]

00:00:02   this is hypercritical weekly talkshow [TS]

00:00:05   ruminating on exactly what is wrong in [TS]

00:00:07   the world of Apple and related [TS]

00:00:08   technologies and businesses [TS]

00:00:09   nothing is so perfect that it can't be [TS]

00:00:12   complained about by my co-host John [TS]

00:00:14   siracusa i'm dan benjamin this is [TS]

00:00:16   episode number 57 today's Friday March [TS]

00:00:19   2nd want to make sure that we thank our [TS]

00:00:21   two sponsors right at the top of the [TS]

00:00:23   show tiny letter comm send email [TS]

00:00:26   newsletters the easiest most simple way [TS]

00:00:29   possible and Shopify create your own [TS]

00:00:32   online store today we also want to [TS]

00:00:35   mention the bandwidth for this episode [TS]

00:00:36   is provided by Mac Mini Kolo I host [TS]

00:00:39   Ansel the servers there to help run 5x5 [TS]

00:00:41   and you can - Mac Mini Colo net / 5x5 as [TS]

00:00:45   a special discount for this is why we [TS]

00:00:48   need faster file systems I'm learning [TS]

00:00:50   how to use computers today John how are [TS]

00:00:52   you I can relaunch my apps a little bit [TS]

00:00:55   faster you have all SSD you've got [TS]

00:00:57   mirrored and striped SSD drives in all [TS]

00:00:59   of your chips Dave nanion the guy who [TS]

00:01:02   makes SuperDuper I doesn't trust the SSD [TS]

00:01:05   drives typically he doesn't trust Lee [TS]

00:01:08   you know supposed to trust any drive Oh [TS]

00:01:10   point is I'm gonna have but he trusts [TS]

00:01:12   those less than he distraught he he [TS]

00:01:14   distrusts them even more than he [TS]

00:01:16   distrust his other what about the people [TS]

00:01:17   of emailed asking you what about SSD is [TS]

00:01:20   John yeah I probably distrust me too [TS]

00:01:22   well today's show will be a follow up [TS]

00:01:24   show on file systems so we will talk [TS]

00:01:28   about all these issues we don't have any [TS]

00:01:29   other thing to talk about today no no [TS]

00:01:32   iPad 3 comments or predictions maybe [TS]

00:01:35   we'll throw that in at the end ok [TS]

00:01:38   alright really going here now that my [TS]

00:01:40   audio is actually working I would like [TS]

00:01:41   to blame this audio stuff online but [TS]

00:01:43   this happened in Snow Leopard too like [TS]

00:01:45   you know everything's all set up and the [TS]

00:01:46   last thing I do is you know your testing [TS]

00:01:48   1 2 or 3 into my mic and noting the [TS]

00:01:51   meters don't move at all I'm plugged mic [TS]

00:01:54   plugged back in nothing so the old [TS]

00:01:57   reboot this is the only time I ever [TS]

00:01:58   reboot my Mac you know is when the audio [TS]

00:02:00   stops working and yeah before you [TS]

00:02:01   started doing the show you had an uptime [TS]

00:02:03   of like three years and soon as you have [TS]

00:02:05   this show you're lucky to get the full [TS]

00:02:06   seven days well now as soon as I had my [TS]

00:02:09   uptime was the space between security [TS]

00:02:10   updates to Mac OS 10 the ones that made [TS]

00:02:12   you restart [TS]

00:02:14   alright let's go do it follow up I was [TS]

00:02:19   listening to myself in hypercritical [TS]

00:02:21   episode 56 and in the car this week as I [TS]

00:02:25   always do and was cringing as I heard [TS]

00:02:27   myself repeatedly used the word defer [TS]

00:02:29   about deferring the costs and I wasn't I [TS]

00:02:33   didn't mean deferring the costs as in [TS]

00:02:35   pushing them off in time this was in [TS]

00:02:38   connection to Apple's data centers and [TS]

00:02:41   the cost of running them the cost of [TS]

00:02:43   running iCloud and the developers using [TS]

00:02:45   iCloud Hippias and no sooner had I [TS]

00:02:49   gotten out of the car and logged onto [TS]

00:02:51   the computer that I got a tweet from [TS]

00:02:54   someone Nathan heretic I hope I got that [TS]

00:02:58   right telling me that I should not be [TS]

00:02:59   saying the word defer and I said I know [TS]

00:03:01   I just heard myself saying in the car [TS]

00:03:02   was horrible I should have said either [TS]

00:03:04   offset or defray defray is probably the [TS]

00:03:07   word that was getting mapped wrong in my [TS]

00:03:08   brain and the point I made to him on [TS]

00:03:10   Twitter is this interesting that [TS]

00:03:11   listening to myself as soon as I said it [TS]

00:03:14   you can hear all that's wrong with what [TS]

00:03:15   is this guy talking about right but [TS]

00:03:16   saying it I said it like 9 times without [TS]

00:03:19   my brain triggering the warning you were [TS]

00:03:22   using the wrong word [TS]

00:03:23   right so I was kind of like writing and [TS]

00:03:25   proofreading when I'm speaking things [TS]

00:03:28   come out of my mouth that don't match [TS]

00:03:30   what my brain was thinking so I [TS]

00:03:32   apologize for that and thanks for the [TS]

00:03:33   correction Nathan a correction from Mark [TS]

00:03:38   Hofman about notifications in [TS]

00:03:40   Notification Center in Mountain Lion [TS]

00:03:42   we're just asking how that was one of [TS]

00:03:46   the api's that was getting swept up into [TS]

00:03:48   the group of things that are only [TS]

00:03:51   available to Mac developers who put [TS]

00:03:53   their application on the Mac App Store [TS]

00:03:54   and I was saying how that was weird [TS]

00:03:56   because yes notifications can be [TS]

00:03:59   synchronized through the cloud from one [TS]

00:04:01   device to the other and show up on your [TS]

00:04:02   desktop for an event triggered on your [TS]

00:04:05   phone and vice versa but notifications [TS]

00:04:08   also work locally if you just have a [TS]

00:04:09   local Mac application that wants to put [TS]

00:04:11   up a little notification dialog says hey [TS]

00:04:14   something happened over here take a look [TS]

00:04:15   and they want to do something more than [TS]

00:04:17   just have a dock icon badge or bounce or [TS]

00:04:19   something and Notification Center is for [TS]

00:04:23   that as well I said boy it's a shame [TS]

00:04:24   that those guys that you can't [TS]

00:04:27   use notification center for that yeah if [TS]

00:04:29   you're not in the Mac App Store even [TS]

00:04:31   though it has nothing to do with that [TS]

00:04:32   cloud well it turns out that if you do [TS]

00:04:35   only local notifications you can use [TS]

00:04:37   Notification Center in Mountain Lion [TS]

00:04:39   even if you're not on the Mac App Store [TS]

00:04:40   so the only thing that you're barred [TS]

00:04:42   from is so-called push notifications [TS]

00:04:45   notifications that are synchronized [TS]

00:04:45   through Apple's servers so that's good [TS]

00:04:48   to know [TS]

00:04:52   Andrew Lawrence was the first person to [TS]

00:04:54   chime in to tell me that the NetApp [TS]

00:04:57   Oracle lawsuit that I mentioned as a [TS]

00:04:59   possible reason that Apple bailed on ZFS [TS]

00:05:01   was settled shortly after son was [TS]

00:05:04   acquired by Oracle I put a link to the [TS]

00:05:07   press release in the show notes it was [TS]

00:05:09   actually September 2010 that was still [TS]

00:05:11   after long after Apple had decided had [TS]

00:05:15   made his decision on ZFS oh I'm not sure [TS]

00:05:17   settling helped to hurt one with the [TS]

00:05:19   other but by then it was too late but [TS]

00:05:20   it's a good point that it actually has [TS]

00:05:22   been settled and it's not dragging on [TS]

00:05:23   the settlement was one of those ones [TS]

00:05:24   where it's you know dismissed without [TS]

00:05:27   prejudice and the terms of the agreement [TS]

00:05:29   are confidential so we don't know what [TS]

00:05:30   actually happened they just probably [TS]

00:05:31   exchanged a sufficient amount of money [TS]

00:05:33   between parties and everything's all [TS]

00:05:35   better JP I don't know I just have JP [TS]

00:05:40   maybe that's all I could get out of his [TS]

00:05:41   Twitter handle or email or something was [TS]

00:05:44   the first to point out that btrfs is [TS]

00:05:46   pronounced butter FS I had heard that [TS]

00:05:49   enunciation but wasn't aware it was the [TS]

00:05:50   official apparently it is the official [TS]

00:05:52   pronunciation I don't I think I don't [TS]

00:05:54   really like the idea of food mixing with [TS]

00:05:56   my file systems so butter if that sounds [TS]

00:05:58   a little weird to me but if it's butter [TS]

00:06:00   FS then it's butter FS so I will [TS]

00:06:02   endeavour to say butter FS from now on [TS]

00:06:08   JP has some other information he [TS]

00:06:12   apparently this is why he just says JP [TS]

00:06:14   hey he worked in the Genius Bar for a [TS]

00:06:16   while in an Apple Store and here's a [TS]

00:06:19   quoting from his message we got almost [TS]

00:06:21   as many okay hard drives according to [TS]

00:06:23   smart status which were unrepairable in [TS]

00:06:25   Disk Utility as we did actual fail to [TS]

00:06:27   harden so what he's what he's saying is [TS]

00:06:29   that you know people would come in to [TS]

00:06:30   the Genius Bar and they would have a [TS]

00:06:31   problem with their hard drive and half [TS]

00:06:33   the time there was a hardware problem [TS]

00:06:35   with the hard drive but the other half [TS]

00:06:37   of the time it was just hfs+ corruption [TS]

00:06:39   so [TS]

00:06:40   fully 50% of their hard drive related [TS]

00:06:43   problems were not due to hardware but [TS]

00:06:45   were due to HFS corruption and he says [TS]

00:06:47   all in all hard drive issues accounted [TS]

00:06:49   for about 30% of all issues so about 15% [TS]

00:06:52   for a directory failure so he's saying [TS]

00:06:54   15% of all problems that come to the [TS]

00:06:56   Genius Bar and his experience were due [TS]

00:06:58   to hfs+ corruption and across all of [TS]

00:07:01   apples customers this is a pretty big [TS]

00:07:03   number I'm actually surprised that I'm [TS]

00:07:06   surprised that the 30% of all Genius Bar [TS]

00:07:08   t-shirts were hard drives a hard drive [TS]

00:07:11   related but it's really said that half [TS]

00:07:13   of the HOS 15% of all possible Guinness [TS]

00:07:16   bar things are due to HFS+ corruption so [TS]

00:07:18   it shows that this is really is a [TS]

00:07:19   problem an apple I mean apples gotta [TS]

00:07:20   track these stats and has to know geez [TS]

00:07:22   you know 50 percent of the people come [TS]

00:07:24   to the Genius Bar is due to bugs in our [TS]

00:07:26   own software we really need to address [TS]

00:07:28   that filesystem thing a couple people I [TS]

00:07:32   don't remember who sent this might have [TS]

00:07:34   been the chat room but I don't have a [TS]

00:07:35   attribution for it send me a link to an [TS]

00:07:37   lwn net article called a short history [TS]

00:07:40   of butter FS and that I hadn't known too [TS]

00:07:45   much of a butter of has except that it [TS]

00:07:46   was the kind of like a you know the GPL [TS]

00:07:49   Linux directed ZFS like filesystem and I [TS]

00:07:55   also knew that it wasn't quite done yet [TS]

00:07:56   so both of those are true but this this [TS]

00:07:59   article that it linked in the show notes [TS]

00:08:01   is written by someone who worked [TS]

00:08:03   extensively on ZFS and it goes through [TS]

00:08:05   the history of how butter FS came to be [TS]

00:08:07   and what's different about it than ZFS I [TS]

00:08:12   think it's worth I guess all worth [TS]

00:08:14   hitting the highlights of instead of [TS]

00:08:16   just saying go read this article because [TS]

00:08:17   it is a long article and maybe if you're [TS]

00:08:18   not really into this you won't read the [TS]

00:08:20   whole darn thing [TS]

00:08:22   so the be actually the be TR part in [TS]

00:08:26   butter FS stands for be trees it's [TS]

00:08:29   shorter be trees have been so it's [TS]

00:08:30   another victim of the great valve sort [TS]

00:08:32   shortage of 1972 which is stricken the [TS]

00:08:35   UNIX landscape and Keaton used to be a [TS]

00:08:36   problem they didn't even have an e [TS]

00:08:39   leftover for the create system call [TS]

00:08:41   that's how bad it was [TS]

00:08:42   but apparently it's still going on so a [TS]

00:08:47   file systems use b-trees because they're [TS]

00:08:51   an efficient data structure for looking [TS]

00:08:53   stuff up and [TS]

00:08:54   starting stuff and deleting stuff if you [TS]

00:08:55   take any computer science course you'll [TS]

00:08:57   eventually do a chapter on trees and [TS]

00:08:58   they're all different kinds of trees and [TS]

00:09:00   you can see in the diagram of them it's [TS]

00:09:01   like a circle with a bunch of lines [TS]

00:09:02   connecting and there's you know out of [TS]

00:09:04   each little circle there are you know [TS]

00:09:07   one or more lines and then there are [TS]

00:09:09   circles connected those and it just [TS]

00:09:10   makes a big tree structure bee trees are [TS]

00:09:13   a particular kind of tree that you know [TS]

00:09:16   the characteristics of trees are how [TS]

00:09:17   many how many different branches come [TS]

00:09:19   out of each one how do you insert [TS]

00:09:21   something into the tree how do you [TS]

00:09:22   remove something from the tree I'm not [TS]

00:09:24   going to go into the sto details of bee [TS]

00:09:26   trees in particular but suffice it to [TS]

00:09:28   say that B trees are specific variant of [TS]

00:09:31   B trees are among the most efficient [TS]

00:09:33   general-purpose tree structure for the [TS]

00:09:36   you know they do everything pretty well [TS]

00:09:37   you can insert things pretty quickly you [TS]

00:09:39   can delete things pretty quickly they [TS]

00:09:40   don't get unbalanced they don't require [TS]

00:09:43   a lot of maintenance to keep balanced [TS]

00:09:44   ever it's kind of like a good middle [TS]

00:09:46   ground for the types of things that you [TS]

00:09:47   might want to keep track of in a file [TS]

00:09:50   system you do because you don't want to [TS]

00:09:51   be something to be really quick to read [TS]

00:09:53   from but really slow to write because [TS]

00:09:54   file systems tend to do all that stuff [TS]

00:09:56   read write and delete in and generally [TS]

00:09:58   you know equal measures but B trees are [TS]

00:10:04   not particularly good when it comes to [TS]

00:10:06   the strategy the ZFS implements where [TS]

00:10:08   they never overwrite data in place you [TS]

00:10:11   know that's the this is the [TS]

00:10:12   copy-on-write strategy where if you have [TS]

00:10:14   new data to write write in to a new [TS]

00:10:16   location [TS]

00:10:17   rather than writing over on top of the [TS]

00:10:18   open and if you want a mod that's to put [TS]

00:10:20   the copy-on-write means and saying if [TS]

00:10:21   it's time for you to write some data [TS]

00:10:23   instead of overwriting the data find [TS]

00:10:25   where that data is and then make a new [TS]

00:10:27   copy of it somewhere else it's different [TS]

00:10:29   than the old one but B trees are not [TS]

00:10:32   compatible with that at all because if [TS]

00:10:34   you were to naively implement copy and [TS]

00:10:35   write with the B tree then anytime you [TS]

00:10:37   changed anything the entire tree from [TS]

00:10:39   top to bottom would have to be changed [TS]

00:10:40   because the changes would propagate back [TS]

00:10:43   up the tree because you're making a new [TS]

00:10:44   instance so almost all B trees and file [TS]

00:10:46   systems and by the way HFS+ and H of s [TS]

00:10:49   use B trees extensively B trees and file [TS]

00:10:52   systems tend to be updated in place [TS]

00:10:53   because that preserves all the desirable [TS]

00:10:55   performance characteristics of a B tree [TS]

00:10:57   and once you start saying oh we can't [TS]

00:10:58   update anything in place we always had [TS]

00:10:59   to write a new dated a new location and [TS]

00:11:01   B trees seemed useless so many years ago [TS]

00:11:05   someone named Oh had Road [TS]

00:11:07   a I don't know if I got this name right [TS]

00:11:08   OHA D ro deh wrote an academic paper as [TS]

00:11:12   people in academia tend to do about a [TS]

00:11:15   new kind of bee tree that was friendly [TS]

00:11:18   to copy-on-write he found a way that if [TS]

00:11:20   you all you change bee trees in this way [TS]

00:11:21   then we actually can get reasonably good [TS]

00:11:23   performance characteristics while still [TS]

00:11:25   not ever updating data in place and this [TS]

00:11:29   academic paper probably sat around for a [TS]

00:11:30   while until someone named Chris Mason [TS]

00:11:32   found this and said hey if I have a bee [TS]

00:11:36   tree structure that's also friendly - [TS]

00:11:37   copy-on-write maybe I can use that in a [TS]

00:11:40   new file system and his big insight for [TS]

00:11:44   creating a new file system was to decide [TS]

00:11:47   that everything in the file system will [TS]

00:11:50   be stored in one of these copy-on-write [TS]

00:11:51   friendly bee trees normally you have bee [TS]

00:11:54   trees first restoring like oh I'll keep [TS]

00:11:56   track of directory entries with the bee [TS]

00:11:59   tree but when I'll have a separate data [TS]

00:12:00   structure for keeping track of free [TS]

00:12:02   space like a bitmap or something and [TS]

00:12:03   I'll have a separate structure for [TS]

00:12:04   keeping track of extensors you know it [TS]

00:12:08   there are usually different kinds of [TS]

00:12:09   data structures tailored for each [TS]

00:12:10   purpose he decided well this data [TS]

00:12:12   structure looks so great what if [TS]

00:12:13   everything is stored in one of these [TS]

00:12:15   copy IRB trees I'll star the directory [TS]

00:12:17   entries the the free space lists the [TS]

00:12:19   extents that the file data itself [TS]

00:12:22   everything in one of these bee trees and [TS]

00:12:23   that's a nice unifying concept because [TS]

00:12:27   it means that you only really need to [TS]

00:12:28   have one code path once you get your [TS]

00:12:31   code for reading writing and modifying [TS]

00:12:32   these bee trees like down pat and [TS]

00:12:34   debugged you're all set you don't have [TS]

00:12:36   to say okay well what about the code [TS]

00:12:37   that manages the free space and what [TS]

00:12:38   about the code that manages the direct [TS]

00:12:40   Rangers well you not not 17 different [TS]

00:12:42   algorithms and 17 different data [TS]

00:12:43   structure just one thing and you know so [TS]

00:12:45   the code is simpler smaller and a nicely [TS]

00:12:48   uniform and programmers love this type [TS]

00:12:49   of thing so that's the basis of btrfs [TS]

00:12:53   building an entire file system on this [TS]

00:12:55   this new data structure and that's very [TS]

00:12:59   interesting to me I didn't I didn't know [TS]

00:13:01   this before I had read it definitely [TS]

00:13:02   hits all of my buttons of her computer [TS]

00:13:06   science and programmers like oh it's [TS]

00:13:08   beautiful and elegant and has great [TS]

00:13:09   performance characteristics and has all [TS]

00:13:10   these features of ZFS the article goes [TS]

00:13:12   into much more detail about how ZFS and [TS]

00:13:15   btrfs [TS]

00:13:16   are the same and how they differ they [TS]

00:13:19   both kind of arrived similar [TS]

00:13:20   from different directions and they do [TS]

00:13:23   have different advantages and [TS]

00:13:24   disadvantages or asset each other so I [TS]

00:13:25   encourage everyone to actually follow [TS]

00:13:26   that link and read it is not that long [TS]

00:13:28   and it's not too jargon inducing it's a [TS]

00:13:30   short history of BTR oh I almost added a [TS]

00:13:32   butter fs and we will be revisiting this [TS]

00:13:37   topic in a bit once we get through the [TS]

00:13:39   official follow up Lenny P Robert writes [TS]

00:13:44   to tell me that there is a program that [TS]

00:13:48   will look through your HFS+ volume and [TS]

00:13:54   try to detect if there are any errors [TS]

00:13:57   and how does it do this it check sums [TS]

00:14:01   everything and writes a bunch of little [TS]

00:14:03   checksum files to each directory and [TS]

00:14:05   then the next time you ask the check it [TS]

00:14:07   says ok I have this file here this has [TS]

00:14:09   the checksum supposed to be blah [TS]

00:14:10   I will recheck some all these files and [TS]

00:14:12   see if it matches a lot of people were [TS]

00:14:15   asking me hey I'm afraid that my data is [TS]

00:14:17   going bad on my HFS+ volumes how do I [TS]

00:14:19   tell and I did I had wasn't aware of [TS]

00:14:24   this program before but other people [TS]

00:14:26   wrote in with it so I replied so this is [TS]

00:14:28   one of the tools available to you now if [TS]

00:14:29   you think about it for too long you [TS]

00:14:31   realize that this program which is [TS]

00:14:32   called integrity checker by the way it's [TS]

00:14:36   kind of in a catch-22 because it's [TS]

00:14:41   storing the check sums on the same disk [TS]

00:14:44   that you're not trusting to make sure [TS]

00:14:48   your data is ok you know what I mean so [TS]

00:14:50   if you have a bit error and it happens [TS]

00:14:53   to be an error in the checksum file then [TS]

00:14:57   it would look like all your data is [TS]

00:14:57   corrupted and really it's the checksum [TS]

00:14:59   that's corrupted so the very least this [TS]

00:15:01   might tell you something is wrong what [TS]

00:15:04   exactly is wrong what you can do but I [TS]

00:15:06   don't know but you could use this for [TS]

00:15:08   example to keep proving to yourself that [TS]

00:15:10   your backups are the same as they were [TS]

00:15:12   the last time you know like I haven't [TS]

00:15:15   modified anything let me look at my time [TS]

00:15:16   machine back up as of three months ago [TS]

00:15:18   is that data still exactly what it was [TS]

00:15:20   when I wrote it three months ago [TS]

00:15:22   or is there something wrong with it when [TS]

00:15:24   there is something wrong you may not be [TS]

00:15:25   able to tell exactly what's wrong but at [TS]

00:15:26   least you know your data is bad so I [TS]

00:15:29   have a link to this product in the show [TS]

00:15:30   notes I have not tried it myself I don't [TS]

00:15:32   even know how much it costs [TS]

00:15:34   but for people who are paranoid about [TS]

00:15:36   data integrity it's it's seems that [TS]

00:15:39   third parties are taking up the mantle [TS]

00:15:40   of attempting to do something about this [TS]

00:15:44   problem as you might imagine anything [TS]

00:15:47   that's going to grind over your whole [TS]

00:15:48   disk and checksum every single thing and [TS]

00:15:50   check their the check sums are the same [TS]

00:15:51   it's going to be tremendously i/o [TS]

00:15:53   intensive and it probably takes a really [TS]

00:15:55   long time that's what you get when you [TS]

00:15:58   have to do it on top of an existing file [TS]

00:16:00   system instead of having it built in and [TS]

00:16:05   Gregory Williams pointed me to another [TS]

00:16:08   third-party product this one allows you [TS]

00:16:13   to tap into HFS+ native compression that [TS]

00:16:17   was introduced in Snow Leopard I've [TS]

00:16:18   talked about in last show how there was [TS]

00:16:20   no like UI for that in the in the OS and [TS]

00:16:24   Apple decided to compress a whole bunch [TS]

00:16:26   of files sort of out of the box but you [TS]

00:16:27   didn't really have any control over that [TS]

00:16:29   well this is a preference pane called [TS]

00:16:31   clusters from late night software and [TS]

00:16:35   with it you can tell it hey any files [TS]

00:16:39   under a particular folder flip that [TS]

00:16:41   little HFS+ compression bit and compress [TS]

00:16:42   them for you and it's complete [TS]

00:16:43   transparent encryption you don't know [TS]

00:16:44   they're encrypted there's no like [TS]

00:16:47   decryption phase that you can see it all [TS]

00:16:49   happens under the covers in the file [TS]

00:16:50   system so you can save some space with [TS]

00:16:53   this now don't turn this on for a folder [TS]

00:16:55   full of QuickTime movies or something [TS]

00:16:56   because they're already compressed and [TS]

00:16:58   you're not going to get much more out of [TS]

00:16:59   them if you have some easily [TS]

00:17:00   compressible data and you would like to [TS]

00:17:01   have it transparently compressed for you [TS]

00:17:03   this may be the ticket on the other hand [TS]

00:17:07   it's possible that there's a good reason [TS]

00:17:10   that Apple has not exposed the HFS+ [TS]

00:17:13   compression in the user interface so I [TS]

00:17:17   think this type of software is the type [TS]

00:17:19   of thing that exists on the borderline [TS]

00:17:20   between what Apple what Apple's [TS]

00:17:22   operating system is capable of and what [TS]

00:17:24   they recommend third-party developers [TS]

00:17:25   use and we will touch on that again [TS]

00:17:27   actually later in the show and I also [TS]

00:17:32   put a link in the show notes to the [TS]

00:17:34   section about hfs+ compression in my [TS]

00:17:37   snow leopard review from 2009 alright so [TS]

00:17:42   that's the end of the official follow-up [TS]

00:17:43   and now we begin the unofficial fall off [TS]

00:17:46   which is the main topic of the show [TS]

00:17:47   which is more [TS]

00:17:48   files isms because believe it or not the [TS]

00:17:50   end of the last show I thought of 20 [TS]

00:17:51   things that I didn't talk about related [TS]

00:17:54   to file systems and a lot of people [TS]

00:17:55   asked about them hmm well let's do our [TS]

00:17:57   first sponsor and then we'll kick that [TS]

00:17:58   part off what do you think sounds good [TS]

00:18:00   our first sponsor is a longtime sponsor [TS]

00:18:02   shopify calm love these guys [TS]

00:18:05   very simply I've told you about them [TS]

00:18:07   before create your online store today [TS]

00:18:09   with Shopify they make it super simple [TS]

00:18:12   to make your own store and you can sell [TS]

00:18:14   whatever you want one of the questions [TS]

00:18:16   that I had people were asking me about [TS]

00:18:17   this so well that's perfectly fine if [TS]

00:18:19   you're selling you know physical goods [TS]

00:18:20   if you're selling a t-shirt or you're [TS]

00:18:22   selling electronics or you have a [TS]

00:18:24   Kickstarter project that you know you [TS]

00:18:26   need the storefront for it what if I [TS]

00:18:28   want to sell something electronic what [TS]

00:18:29   if I wrote a book you know and I want to [TS]

00:18:32   sell the PDF of it or what if I have [TS]

00:18:34   something that I want to control down [TS]

00:18:35   yes of course you can do that with [TS]

00:18:38   Shopify dot-com there are tons of [TS]

00:18:39   add-ons and tons of little things that [TS]

00:18:41   that people have written it for exactly [TS]

00:18:43   this kind of thing in fact my friend [TS]

00:18:46   Jeffrey's elderman they have a company [TS]

00:18:48   called a book apart and all of the books [TS]

00:18:51   that they do for designers and [TS]

00:18:52   developers [TS]

00:18:52   that's a Shopify store and they [TS]

00:18:54   customized the heck out of it you [TS]

00:18:56   wouldn't even recognize it [TS]

00:18:57   it's totally so here's the deal normally [TS]

00:19:00   you go in there and you sign up on [TS]

00:19:02   Shopify com you get 30 days free use the [TS]

00:19:04   coupon code 5x5 when you're signing up [TS]

00:19:07   you'll get three months free and of [TS]

00:19:09   course you can use the site and sell [TS]

00:19:11   everything you want within that that [TS]

00:19:13   time frame of course you can so go there [TS]

00:19:16   today Shopify com coupon code 5x5 and [TS]

00:19:19   join more than 20,000 stores selling [TS]

00:19:22   their stuff on Shopify John himself [TS]

00:19:25   you're even opening up a store I am NOT [TS]

00:19:29   gonna be selling USB headsets [TS]

00:19:35   all right already main topic yes the [TS]

00:19:39   main topic is actually inspired by [TS]

00:19:40   follow-up and you mentioned at the very [TS]

00:19:41   top of the show because you've been [TS]

00:19:43   seeing the same emails as I have [TS]

00:19:44   everybody was asking in the last show [TS]

00:19:46   all you know so I listened your show [TS]

00:19:47   about file systems how does all this [TS]

00:19:50   change in light of solid state disks [TS]

00:19:52   that is the question of the week ah and [TS]

00:19:57   I didn't talk about it in last show so [TS]

00:19:59   we'll talk about it now I'll use it as a [TS]

00:20:00   jumping-off point to talk more about [TS]

00:20:01   these file systems in general one of the [TS]

00:20:05   reasons I didn't talk about it is [TS]

00:20:06   because there's no clear answer how does [TS]

00:20:11   it change and it's not even we can't [TS]

00:20:13   even say it changes completely or not at [TS]

00:20:15   all it's somewhere in the middle so I'm [TS]

00:20:17   trying to think of things that file [TS]

00:20:23   systems do that clearly have spinning [TS]

00:20:28   disks in mind as a way to get into the [TS]

00:20:32   topic of how that might change with SSDs [TS]

00:20:34   so the biggest one I could think of them [TS]

00:20:36   are you going to go some more is putting [TS]

00:20:40   related information close together on [TS]

00:20:42   the disk [TS]

00:20:43   because the big thing you want to avoid [TS]

00:20:44   on a spinning disk is moving the disk [TS]

00:20:47   head that is by far the most time [TS]

00:20:49   consuming thing you have to do because [TS]

00:20:51   especially with you know diskette disks [TS]

00:20:54   are getting faster but the speed with [TS]

00:20:55   which you can move a disk head from one [TS]

00:20:57   place to another on a disk has not been [TS]

00:20:59   getting faster nearly as much as the [TS]

00:21:01   size of disks have been increasing you [TS]

00:21:03   know because you have to move the little [TS]

00:21:05   head and then wait for it to stop it [TS]

00:21:07   exactly over some microscopic little [TS]

00:21:08   track on the disk and then wait for it [TS]

00:21:10   to stop wiggling back and forth and sort [TS]

00:21:12   of settle down so we can read again and [TS]

00:21:14   they can do that amazingly fast it's [TS]

00:21:16   like a seek times like nine milliseconds [TS]

00:21:18   or something like that but it's still [TS]

00:21:21   super slow compared to how fast they can [TS]

00:21:23   stream data off a single location on [TS]

00:21:25   disk so putting stuff together on a [TS]

00:21:28   spinning disk is really important you [TS]

00:21:31   can see this yourself I think regular [TS]

00:21:32   users have some idea about this when you [TS]

00:21:35   have a like a 100 megabyte folder and [TS]

00:21:39   but it's filled with thousands and [TS]

00:21:41   thousands of files there are a few bytes [TS]

00:21:42   each how long does it take to duplicate [TS]

00:21:45   that versus how long does it take [TS]

00:21:47   duplicate a single hundred megabyte [TS]

00:21:48   phile if your disc is not full and you [TS]

00:21:50   have lots of free space duplicating a [TS]

00:21:51   single hundred megabyte file can be [TS]

00:21:53   really fast amazingly fast basically if [TS]

00:21:55   the hundred megabyte file is kind of all [TS]

00:21:57   all the data of it is kind of in this [TS]

00:22:00   similar place on the disk you don't need [TS]

00:22:01   to do many seeks you read long sequences [TS]

00:22:03   of bytes off of the disk before you have [TS]

00:22:05   to move the disk head to get the rest of [TS]

00:22:07   the bytes that's really fast but moving [TS]

00:22:10   thousands and thousands of little files [TS]

00:22:12   even the total amount of data is the [TS]

00:22:14   same to get it thousands of thousands [TS]

00:22:15   little files well you have to go read [TS]

00:22:17   the directory entry and that's imagine [TS]

00:22:18   this is hfs+ to go to go to the catalog [TS]

00:22:20   file which is in a central location so [TS]

00:22:21   you read the directory entry and then [TS]

00:22:22   the catalog file points you'd okay [TS]

00:22:23   here's the first file and here's what [TS]

00:22:25   it's called and here's what the bytes [TS]

00:22:26   are so move this can get the bytes for [TS]

00:22:28   that file and that's really quick [TS]

00:22:29   because there's only a few bytes and [TS]

00:22:30   then write the file to the new location [TS]

00:22:32   so make a new directory entry that's [TS]

00:22:33   back to the catalog file and write the [TS]

00:22:35   name of the file there and then write [TS]

00:22:36   the bytes for the file okay let's write [TS]

00:22:38   those flights with a file someplace else [TS]

00:22:39   and dusk you've done like six seeks and [TS]

00:22:40   all you've copied is like two bytes of [TS]

00:22:42   data like if this was a tiny little file [TS]

00:22:44   in fact most your time might have been [TS]

00:22:47   spent just writing the metadata about [TS]

00:22:49   the files name the date you know all [TS]

00:22:50   these other other information but you're [TS]

00:22:52   seeking all over the disk get a little [TS]

00:22:54   bit of data to go back to the catalog [TS]

00:22:56   file write the new location write the [TS]

00:22:57   data it takes forever because seeking [TS]

00:22:59   time starts to dominate how long the [TS]

00:23:02   entire operation takes whereas the [TS]

00:23:03   actual writing data to disk when you [TS]

00:23:05   look at the stats on a disk like into a [TS]

00:23:06   30 megabytes per second or 40 megabytes [TS]

00:23:08   per second yeah that's how much you can [TS]

00:23:10   write if the disk head is pretty much [TS]

00:23:12   not moving and the disk is spinning [TS]

00:23:13   underneath it once you start moving the [TS]

00:23:15   diskette around you're spending all your [TS]

00:23:17   time moving and very little time [TS]

00:23:18   actually writing data so the big thing [TS]

00:23:21   that file systems try to do in in the at [TS]

00:23:24   all times but especially in the modern [TS]

00:23:26   age is no disk seeks put related stuff [TS]

00:23:28   close together pack it all next to each [TS]

00:23:29   other don't make the disk ad move around [TS]

00:23:32   so how does that relate to SSDs the big [TS]

00:23:37   thing with us is these is you know [TS]

00:23:38   there's no moving parts there's no disk [TS]

00:23:40   kid moving back and forth trying to grab [TS]

00:23:44   little pieces just it's just a bunch of [TS]

00:23:45   memory chips and the naive view of [TS]

00:23:47   memory checks is like oh I can get at [TS]

00:23:48   any part of those memory chips instantly [TS]

00:23:50   I don't have to move anything anywhere I [TS]

00:23:52   just say give me byte number 56 and I [TS]

00:23:54   get it give me byte number 3000 and I [TS]

00:23:56   get it and asking for byte 56 directly [TS]

00:23:58   after I asked for but 3000 it doesn't [TS]

00:24:00   make any difference right [TS]

00:24:01   there's no there's nothing to move well [TS]

00:24:05   flash memory unfortunately is not as [TS]

00:24:07   simple as the naive view of memory might [TS]

00:24:10   be there are some limitations and the [TS]

00:24:14   limitations are different for flash [TS]

00:24:16   memory of different kinds a different [TS]

00:24:17   for DRAM differing for all sorts of [TS]

00:24:19   memory chips the stuff that goes on [TS]

00:24:20   inside the memory chips we like to think [TS]

00:24:21   of it as a black box that just stores [TS]

00:24:23   our bits and gives us back but it's [TS]

00:24:24   really fiendishly complex and you don't [TS]

00:24:26   know how for example DRAM works I [TS]

00:24:28   encourage you to go to Wikipedia and [TS]

00:24:30   read about how DRAM works you will [TS]

00:24:32   probably be horrified and amazed at any [TS]

00:24:34   Forks at all pieces it's terrifyingly [TS]

00:24:35   scary flash is similarly terrifying it [TS]

00:24:39   has these crazy limitations that don't [TS]

00:24:40   make any sense until you figure out how [TS]

00:24:42   like the chips are actually laid out and [TS]

00:24:43   how the physics work and the economics [TS]

00:24:45   of fabbing and why they're made this [TS]

00:24:47   play I'll try to give a reasonable [TS]

00:24:50   high-level summary of it but the short [TS]

00:24:53   answer is that it does help to have [TS]

00:24:57   things near each other when when using [TS]

00:25:01   flash memory because although it doesn't [TS]

00:25:04   take any time - there's nothing to seek [TS]

00:25:06   from one location to the other flash [TS]

00:25:09   memory cannot be arbitrarily updated in [TS]

00:25:12   exactly the size pieces that you want [TS]

00:25:14   there are larger chunks that you know [TS]

00:25:17   you can't just say okay I want I'm going [TS]

00:25:19   to write two bytes here I'm going to [TS]

00:25:20   write one byte there and about 1 byte [TS]

00:25:21   over there and everything's hunky-dory [TS]

00:25:23   if the flash chips themselves tend to [TS]

00:25:26   have to do operations in larger evenly [TS]

00:25:28   sized chunks than you would want so that [TS]

00:25:30   might mean erasing an entire block we [TS]

00:25:33   are reading the entire contents of [TS]

00:25:34   entire block erasing the whole thing and [TS]

00:25:37   writing it back plus the change instead [TS]

00:25:39   of just writing your change I tried to [TS]

00:25:42   highlight the one part that's relevant [TS]

00:25:43   most relevant from the Wikipedia page to [TS]

00:25:46   a NAND flash memory that's moved in most [TS]

00:25:49   flash drives and the upshot according to [TS]

00:25:52   Wikipedia and I don't know enough about [TS]

00:25:54   it to know whether this is accurate but [TS]

00:25:55   I assume it probably is because it's [TS]

00:25:57   just a technical matter is that it says [TS]

00:26:01   you can erase memory a block at a time [TS]

00:26:05   but so you can read it in a little [TS]

00:26:08   pieces and you can write it in little [TS]

00:26:10   pieces but you can only erase it a block [TS]

00:26:11   at the time and the next wrinkle to that [TS]

00:26:13   is that [TS]

00:26:15   when you erase you set all the bits but [TS]

00:26:18   when you set them you can only clear [TS]

00:26:19   bits so if you're setting something in a [TS]

00:26:22   region that has all ones in it all you [TS]

00:26:25   got to do is blank out the ones that are [TS]

00:26:26   zeros to make your bit patterns so if [TS]

00:26:28   you're writing one zero one zero and [TS]

00:26:29   you've got one one one one [TS]

00:26:31   you just blank out those two ones and [TS]

00:26:33   voila one zero one zero you just wrote [TS]

00:26:34   only the amount of data you needed ah [TS]

00:26:38   but when you erase it you have to erase [TS]

00:26:40   the entire thing the entire block and a [TS]

00:26:42   block is much bigger than the region [TS]

00:26:44   you're just interested in updating and [TS]

00:26:45   since you can only clear disks if a [TS]

00:26:48   region has more zeros than the data [TS]

00:26:49   you're about to write there like I can't [TS]

00:26:51   I can't write this because I all I can [TS]

00:26:53   do is change things it all I can do is [TS]

00:26:57   change things to zeros but it's already [TS]

00:26:58   got too many zeros I can't change that [TS]

00:27:00   zero to a one [TS]

00:27:00   so if I can't change a zero to one my [TS]

00:27:03   only option is to erase this entire [TS]

00:27:05   block set it all to ones we're going to [TS]

00:27:07   read the block first erase the entire [TS]

00:27:08   block and write the entire block back [TS]

00:27:10   plus my changes there are probably [TS]

00:27:14   better articles about this and someone [TS]

00:27:16   hasn't been the show at Stan and tech I [TS]

00:27:17   was trying to Google for better links to [TS]

00:27:19   this before I started so I will add this [TS]

00:27:21   one they came up in the show notes we [TS]

00:27:23   link to the print only version of it but [TS]

00:27:25   I guess I'll throw them in there so it [TS]

00:27:29   means the ETL details don't matter but [TS]

00:27:31   the point is that operations to flash [TS]

00:27:34   memory don't necessarily only modify the [TS]

00:27:36   bits that you're interested in sometimes [TS]

00:27:38   they have to modify entire large blocks [TS]

00:27:40   of bits even if you're only interested [TS]

00:27:43   in changing a small portion of so that [TS]

00:27:46   argues for trying to make your data [TS]

00:27:50   that's related close to each other [TS]

00:27:52   otherwise you're going to spend your [TS]

00:27:53   time erasing an entire block of data [TS]

00:27:55   just to put one byte there and then [TS]

00:27:57   erase it all totally unrelated block [TS]

00:27:59   about to put to put another byte there [TS]

00:28:02   now I'm not sure if this means that [TS]

00:28:05   putting stuff close together is like a [TS]

00:28:07   big win on flash certainly it's not as [TS]

00:28:09   big a win as it is on spinning disks but [TS]

00:28:12   at the very least it probably does no [TS]

00:28:14   harm and there are reasons to think that [TS]

00:28:17   it might be beneficial like these same [TS]

00:28:19   file system layouts that put things [TS]

00:28:23   close together would also benefit flash [TS]

00:28:25   memory because then [TS]

00:28:27   that's it do operations that modify more [TS]

00:28:31   of the block the whole block rhythm I [TS]

00:28:33   need to erase but the flipside of that [TS]

00:28:35   is if there is a file system that goes [TS]

00:28:37   through great lengths and bends over [TS]

00:28:38   backwards and has a really complicated [TS]

00:28:40   structure completely aimed at minimizing [TS]

00:28:42   seeks it's like all we just got to pack [TS]

00:28:44   everything together and we have to do [TS]

00:28:45   all this complicated stuff and the code [TS]

00:28:47   is complicated and the i/o scheduling is [TS]

00:28:49   complicated also it can avoid seeks it [TS]

00:28:52   could be that that complexity is not [TS]

00:28:55   worth the benefit that you get in SSDs [TS]

00:28:57   and a file system that doesn't go to [TS]

00:28:58   such great lengths to make sure data is [TS]

00:29:00   as close together but is much simpler [TS]

00:29:03   much more reliable and as fewer bugs or [TS]

00:29:05   whatever might be fine on an SSD because [TS]

00:29:08   the things that hurt it on spinning disk [TS]

00:29:10   don't hurt it as much there so that's [TS]

00:29:13   not a very good answer the answer is [TS]

00:29:14   basically it depends and and I don't [TS]

00:29:17   think anyone is really sure and all the [TS]

00:29:19   file systems that I've been talking [TS]

00:29:21   about with the possible section of [TS]

00:29:23   session of butter FS were conceived in a [TS]

00:29:26   time when people didn't realize that [TS]

00:29:28   SSDs would be the phenomenon that they [TS]

00:29:30   are as ZFS is but I think it's close to [TS]

00:29:34   ten years old now it's pretty old and [TS]

00:29:36   back then yes SSDs existed and they [TS]

00:29:39   certainly didn't want to do anything [TS]

00:29:40   that would be silly on an SSD and I [TS]

00:29:43   don't think they did but they wasn't [TS]

00:29:45   designed for an SSD many of the [TS]

00:29:47   considerations in the file system design [TS]

00:29:49   were based on spinning disks and butter [TS]

00:29:52   FS looks a lot like ZFS but it's newer [TS]

00:29:58   so they may have more SSD stuff in mind [TS]

00:30:00   certainly there is no file system that I [TS]

00:30:02   know of that's in widespread use it was [TS]

00:30:05   designed from the ground up to say [TS]

00:30:06   forget spinning disks in fact if you run [TS]

00:30:09   this on a spinning disk it might be [TS]

00:30:10   hideous and terrible this is entirely a [TS]

00:30:12   ended SSD Boyd Watters wrote in to say [TS]

00:30:16   that to quote him plopping NAND flash [TS]

00:30:21   behind a SATA interface is stupid so [TS]

00:30:24   what he's put is showing is that thing [TS]

00:30:25   of the storage hierarchy that exists in [TS]

00:30:27   current things you got the CPU register [TS]

00:30:30   file you got the the caching on the CPU [TS]

00:30:32   then you've got the RAM then you've got [TS]

00:30:33   the the i/o controller chip then you've [TS]

00:30:35   got the the SATA interface and then [TS]

00:30:38   you've got this flash disk and you put [TS]

00:30:39   discs and [TS]

00:30:40   scare quotes because it's not actually a [TS]

00:30:42   disk why does that big structure exist [TS]

00:30:47   why do these flash memory chips have to [TS]

00:30:51   pretend they're a spinning disk does [TS]

00:30:53   that seem like a silly kind of archaic [TS]

00:30:56   it's kind of like a computational [TS]

00:30:58   skeuomorphism where it's pretending to [TS]

00:31:02   be a disk because everything expects [TS]

00:31:03   there to be a disk there but it's [TS]

00:31:04   totally not this is an interesting issue [TS]

00:31:09   that has come up many times in the in [TS]

00:31:11   the past decades like why do we had disk [TS]

00:31:13   and memory wouldn't it be nice if [TS]

00:31:15   everything was just memory that's the [TS]

00:31:18   you know the computer science dream [TS]

00:31:19   everything is just a big open field of [TS]

00:31:21   bits and it can be addressed randomly [TS]

00:31:24   written land rent they write or read [TS]

00:31:26   randomly and there's no difference [TS]

00:31:29   between something's in disk and it's in [TS]

00:31:31   memory just one big continuum one way to [TS]

00:31:33   do that would be to have notice can just [TS]

00:31:34   have everything in memory because then [TS]

00:31:36   everything is memory right but that's [TS]

00:31:40   generally not feasible because memory is [TS]

00:31:42   measured in you know gigabytes and disk [TS]

00:31:45   space is memory measured in terabytes so [TS]

00:31:48   they're not close and the other thing is [TS]

00:31:49   just less I have a unified interface [TS]

00:31:50   that yes it's flat flash is slower than [TS]

00:31:55   then DRAM but the Ihram is also slower [TS]

00:31:58   than l3 cache which is slower than l2 [TS]

00:31:59   cache which is slower than l1 cache [TS]

00:32:01   which is slower than registers it's a [TS]

00:32:02   hierarchy of memory how close quote [TS]

00:32:05   unquote close is this memory to the CPU [TS]

00:32:08   how long does it take the CPU to get to [TS]

00:32:10   it that hierarchy exists and [TS]

00:32:12   traditionally if you were to graph how [TS]

00:32:14   you know how long does it take to get a [TS]

00:32:16   piece of memory out of l1 cache l2 cache [TS]

00:32:18   l3 cache it's like a hockey stick graph [TS]

00:32:20   and especially when you hit disk it's [TS]

00:32:21   like well now you might as well just go [TS]

00:32:23   on vacation because that that is not [TS]

00:32:24   going to be coming back for another 8 [TS]

00:32:25   billion cycles of the CPU so forget it [TS]

00:32:30   flash memory is faster than just what [TS]

00:32:32   that wall is still there that the gap [TS]

00:32:33   between the speed of memory is still [TS]

00:32:35   there but still the idea is that why not [TS]

00:32:38   just have this is a uniform storage [TS]

00:32:39   hierarchy with uniform interface and not [TS]

00:32:42   have disk i/o to be this totally [TS]

00:32:44   separate thing that's something that [TS]

00:32:48   someone like Apple is not going to [TS]

00:32:49   probably tackle anytime soon but it's [TS]

00:32:52   been in the air [TS]

00:32:54   probably since the 60s or 70s the idea [TS]

00:32:56   that a unified interface to memory would [TS]

00:32:58   be better than and probably a lot of old [TS]

00:33:00   machines did have a unified interface [TS]

00:33:01   but in the end the person computer age [TS]

00:33:05   the split weakened disk in memory is [TS]

00:33:06   pretty baked into the way that we do [TS]

00:33:09   things so let's consider what might [TS]

00:33:12   change if everything was unified well [TS]

00:33:17   one thing that would have to change is [TS]

00:33:19   that the operating system would have to [TS]

00:33:22   be different because in the operating [TS]

00:33:23   system the file IO calls are very [TS]

00:33:25   different from the calls to manipulate [TS]

00:33:26   memory file alcohols you've got you know [TS]

00:33:28   opening files reading writing files [TS]

00:33:30   they're just structured differently take [TS]

00:33:31   different arguments have different [TS]

00:33:32   semantics than the memory calls which [TS]

00:33:34   are you know setting memory getting [TS]

00:33:37   memory copying memory and just bit [TS]

00:33:39   operations that happen in memory in two [TS]

00:33:43   entirely different api's so you couldn't [TS]

00:33:46   just say ok memory and disk or all one [TS]

00:33:47   because everyone's programs wouldn't [TS]

00:33:49   work anymore because that's you know [TS]

00:33:51   you'd have to you'd have to make some [TS]

00:33:52   sort of shim layer there and ideally [TS]

00:33:54   you'd want one unified interface to a [TS]

00:33:56   new set of api's that looks the same for [TS]

00:34:00   both of those things and what does that [TS]

00:34:01   new wear interface look like and who is [TS]

00:34:03   going to adopt that new integration [TS]

00:34:04   who's going to design it that's a big [TS]

00:34:05   problem one thing that would go away are [TS]

00:34:08   these really complicated api's that we [TS]

00:34:10   have now for memory mapping files where [TS]

00:34:12   you say look I want to manipulate this [TS]

00:34:16   really big file but I want to read every [TS]

00:34:18   single byte of it off disk and I want to [TS]

00:34:19   manipulate it as if it's all in memory [TS]

00:34:21   but I can't fit it all in memory so can [TS]

00:34:22   i memory map the file and memory mapping [TS]

00:34:24   will automatically make it look like [TS]

00:34:25   your entire files in memory but just [TS]

00:34:26   pulling the parts that you need on [TS]

00:34:28   demand and that's a very complicated [TS]

00:34:30   system and the API is very complicated [TS]

00:34:33   that's kind of stuff would go away if [TS]

00:34:36   you had a single unified interface to [TS]

00:34:38   the entire storage hierarchy or maybe [TS]

00:34:40   you would just shift and that becomes [TS]

00:34:41   part of this unified interface but it's [TS]

00:34:43   a complexity that exists now because we [TS]

00:34:45   know that files are much bigger than [TS]

00:34:47   memory we know we can't fit an entire [TS]

00:34:48   file in memory so we have to make this [TS]

00:34:50   weird illusion that it's kind of in [TS]

00:34:52   memory when it's not ah a big one that I [TS]

00:34:55   thought of is that you'd have to [TS]

00:34:56   reconsider limits limits that we take [TS]

00:34:59   for granted now so for example when you [TS]

00:35:03   run out of disk space that's a dead end [TS]

00:35:05   right now [TS]

00:35:07   no space left on device right that's [TS]

00:35:10   that's the end you know this there's no [TS]

00:35:12   program in existence that says when I [TS]

00:35:15   run out it's like what can it what kind [TS]

00:35:16   of program do well jeez on that it can [TS]

00:35:18   tell you I try to do that for you but [TS]

00:35:20   your disk is full so and and by the way [TS]

00:35:23   UNIX does not deal well with the disk [TS]

00:35:24   being full for reasons we'll probably [TS]

00:35:26   get into in a bit later uh and you don't [TS]

00:35:30   want you just to be complete full lots [TS]

00:35:32   of bad things happen but running out of [TS]

00:35:34   RAM waiting it what do you say UNIX [TS]

00:35:36   doesn't handle it well what does handle [TS]

00:35:38   it well or is that is that part of that [TS]

00:35:41   next topic yeah that what does handle it [TS]

00:35:44   well in it in the days before UNIX for [TS]

00:35:46   example in classic Mac OS in like really [TS]

00:35:48   classic Mac OS like you know system 4.2 [TS]

00:35:52   you could have your disk filled up to [TS]

00:35:54   the brim and everything would still [TS]

00:35:57   pretty much work okay you know you [TS]

00:35:58   couldn't save stuff but you wouldn't be [TS]

00:36:01   using the thing and it would just blow [TS]

00:36:03   up whereas the UNIX uses the disk space [TS]

00:36:06   for all sorts of things and if your disk [TS]

00:36:10   even gets close to full lots of things [TS]

00:36:12   they're going to start falling down not [TS]

00:36:13   just the program you're using so you [TS]

00:36:14   can't just happily use your Mac with an [TS]

00:36:16   entirely full disk in fact I don't even [TS]

00:36:18   know if you can get your your disk [TS]

00:36:19   entirely full without sort of cheating [TS]

00:36:20   by putting it to single user mode and [TS]

00:36:22   using DD to fill up the disk I don't [TS]

00:36:24   even think you can boot with it with an [TS]

00:36:25   entirely full disk once you get anywhere [TS]

00:36:27   near close to disk full Mac os10 starts [TS]

00:36:29   throwing dialogues in your faces said [TS]

00:36:30   this is almost full seriously delete [TS]

00:36:32   stuff you've got a problem and there's a [TS]

00:36:34   good reason for that uh but in the [TS]

00:36:37   modern era running out of RAM is not a [TS]

00:36:40   dead end and I say the modern era being [TS]

00:36:43   like Mac OS 10 certainly but even in the [TS]

00:36:45   latter days of classic Mac OS what [TS]

00:36:47   happens when we run out of RAM is we're [TS]

00:36:49   not around all the time ah [TS]

00:36:52   you run out of RAM and you swap some [TS]

00:36:56   stuff to disk so you take some stuff [TS]

00:36:58   that's in memory though I don't have [TS]

00:36:59   room to put everything in memory that [TS]

00:37:00   need to put in a memory let me take [TS]

00:37:02   something that's in memory or write it [TS]

00:37:03   out to this temporarily now I've read up [TS]

00:37:05   some new room in memory and it tries to [TS]

00:37:07   put stuff on to disk [TS]

00:37:08   tries to swap stuff out that hasn't been [TS]

00:37:11   used in a while and this is the basis of [TS]

00:37:13   all modern virtual memory systems with [TS]

00:37:16   swap where they will [TS]

00:37:19   try to let it appear to your programs as [TS]

00:37:21   if you have way more RAM than you do so [TS]

00:37:23   programs back the old days and 32-bit [TS]

00:37:26   thing they would think that they had you [TS]

00:37:27   know two to four gigabytes of RAM when [TS]

00:37:30   maybe your computer only at 128 [TS]

00:37:32   megabytes of RAM and the program was [TS]

00:37:35   blissfully unaware of that it would just [TS]

00:37:36   try to address memory in the operating [TS]

00:37:38   system every time you filled up the [TS]

00:37:39   actual RAM chips [TS]

00:37:41   it would just swap things in and out to [TS]

00:37:43   disk to make enough room for the stuff [TS]

00:37:44   you currently using in ram now swapping [TS]

00:37:47   is bad and it's slow because if your [TS]

00:37:48   program thinks something's in memory and [TS]

00:37:50   it asks the operating system for on the [TS]

00:37:51   operating system says actually that's [TS]

00:37:53   not in memory I had to put that in disk [TS]

00:37:54   for you but I'll wait I'll go get it on [TS]

00:37:55   the disk you just wait there it takes [TS]

00:37:57   forever for the operating system to come [TS]

00:37:59   back so here's this thing and the [TS]

00:38:00   program expected that to come back [TS]

00:38:02   really quickly so when your computer is [TS]

00:38:05   thrashing or swapping or one of these [TS]

00:38:07   other terms it means that it's trying to [TS]

00:38:09   access a bunch of stuff that it thinks [TS]

00:38:10   is in memory but a lot of it turns out [TS]

00:38:12   to be on disk and your disk ad they're [TS]

00:38:13   seeking all around to pull this stuff [TS]

00:38:15   off of the disk and putting other stuff [TS]

00:38:16   onto this because if it's on if it's on [TS]

00:38:19   disk has to pull it out maybe that's to [TS]

00:38:20   evict something else from RAM and put it [TS]

00:38:21   down there so that's situation we're in [TS]

00:38:26   now where a disk space fills up total [TS]

00:38:28   dead end RAM fills up it's not a dead [TS]

00:38:30   end but how is RAM filling up not a dead [TS]

00:38:32   it uses disk space and that's why if [TS]

00:38:34   your disk is full everything falls down [TS]

00:38:37   because all these programs think that [TS]

00:38:38   they have you know much more memory than [TS]

00:38:41   they really have and if they did blondie [TS]

00:38:43   continued to put stuff in memory in the [TS]

00:38:44   operating system says well that actually [TS]

00:38:46   can't fit in memory so what I'm supposed [TS]

00:38:48   to do on behalf of this program is evict [TS]

00:38:50   something from memory put that on disk [TS]

00:38:53   and then put his thing in that spot and [TS]

00:38:54   when it goes to evict something from [TS]

00:38:55   memory and put it on disk the disk is [TS]

00:38:57   full and that's why bad things start [TS]

00:38:59   happening classic Mac OS way back and [TS]

00:39:01   they did not have virtual memory which [TS]

00:39:03   is different than swap but it certainly [TS]

00:39:04   didn't have swap space so it could [TS]

00:39:07   happily hum along with its you know 512 [TS]

00:39:09   K of RAM or whatever and if you hit the [TS]

00:39:12   512 K Ram limit ah that was the end of [TS]

00:39:16   that it wouldn't swap stuff out to disk [TS]

00:39:17   so if your disk was full no big deal [TS]

00:39:20   it's the only time it has to write [TS]

00:39:22   something on to disk is if you ask it to [TS]

00:39:23   not in your normal operation it didn't [TS]

00:39:26   write stuff and UNIX of course has log [TS]

00:39:27   files that are constantly being appended [TS]

00:39:29   to and other things that are going on in [TS]

00:39:30   the background slowly filling in your [TS]

00:39:31   disk that [TS]

00:39:32   know about and if your disk is full all [TS]

00:39:33   those things freak out and say you know [TS]

00:39:36   we've got a problem here they would [TS]

00:39:37   probably they would probably try to log [TS]

00:39:38   the fact that they got a no space left [TS]

00:39:40   on device message and that would cause [TS]

00:39:41   more Disgaea which would also fail and [TS]

00:39:43   it's just a vaccine so there's an [TS]

00:39:47   exception to this in the modern error [TS]

00:39:48   which is iOS which some people also [TS]

00:39:51   asked about iOS if you run out of disk [TS]

00:39:55   space that's a dead end still if you run [TS]

00:39:58   out of RAM on iOS it's also a didn't [TS]

00:40:02   because iOS though it implements virtual [TS]

00:40:04   memory virtual memory is the mechanism [TS]

00:40:06   by which the programs think they have [TS]

00:40:08   much more memory and they do then they [TS]

00:40:10   really do and they think they all have [TS]

00:40:11   their own memory space to themselves [TS]

00:40:14   it has virtual memory but it does not [TS]

00:40:16   use swap so when you fill up all the RAM [TS]

00:40:19   on iOS it doesn't say oh let me put that [TS]

00:40:21   on quote-unquote disk for you it's disk [TS]

00:40:23   is obviously flash what it does is kills [TS]

00:40:25   your program in fact to kill your [TS]

00:40:26   program long before that iOS is a very [TS]

00:40:28   hostile environment for programs and the [TS]

00:40:30   the application environment for running [TS]

00:40:33   GUI applications in iOS will send your [TS]

00:40:37   application a low memory warning if it [TS]

00:40:38   starts using too much RAM and if the [TS]

00:40:42   program does not respond by freeing [TS]

00:40:43   memory eventually the operating system [TS]

00:40:45   will just kill that program say look I [TS]

00:40:46   sent you a message I told you you're [TS]

00:40:47   getting close to the memory limit I'm [TS]

00:40:48   gonna have to kill you because if you [TS]

00:40:49   ever hit the memory limit on iOS that's [TS]

00:40:53   it it's not you know I need more space [TS]

00:40:55   well RAM is full and there's no more RAM [TS]

00:40:57   we can't make new Ram out of thin air [TS]

00:40:59   and we're not going to swap the flash [TS]

00:41:00   now one of the reasons that iOS doesn't [TS]

00:41:01   swap to flash is because even though [TS]

00:41:04   flash is faster than disk it's still way [TS]

00:41:06   way WAY slower than Ram so that's one of [TS]

00:41:10   the reasons that iOS has always been so [TS]

00:41:11   responsive because to get that kind of [TS]

00:41:13   responsiveness that's how it's running a [TS]

00:41:15   variant of Mac OS 10 we're doing virtual [TS]

00:41:17   memory but we cannot afford to like oh [TS]

00:41:20   when I swipe something on the screen oh [TS]

00:41:21   hang on a second I gotta pull a bunch of [TS]

00:41:23   that stuff that you thought was in [TS]

00:41:24   memory actually it's on my flash disk [TS]

00:41:26   and I got to pull it off the disk and [TS]

00:41:28   it's it can take a thousand times longer [TS]

00:41:29   than you thought it would and then you [TS]

00:41:30   get the stuttery animation or anything [TS]

00:41:32   maybe someday that will change but for [TS]

00:41:35   now as far as I'm aware maybe someone [TS]

00:41:37   can correct me [TS]

00:41:38   Iowa still does not use swap space it [TS]

00:41:41   puts everything in RAM so if you're [TS]

00:41:44   going to unify disk [TS]

00:41:45   and ram into one type of thing [TS]

00:41:49   everything would have to become a dead [TS]

00:41:50   end [TS]

00:41:51   because you have no other place to put [TS]

00:41:53   stuff right like when you run out of [TS]

00:41:56   whatever you're going to call this thing [TS]

00:41:58   when you run out of memory that means [TS]

00:41:59   that your caches are full you know they [TS]

00:42:02   know you can put in a register can't put [TS]

00:42:04   it in a cache you can't put it in RAM [TS]

00:42:05   and uh your disk is also full and I [TS]

00:42:10   think that would be a bad place to be [TS]

00:42:13   because you could imagine getting [TS]

00:42:14   machine into a deadlock situation [TS]

00:42:15   hopefully not hopefully in a consistent [TS]

00:42:17   state of some kind but where do you go [TS]

00:42:19   from there you don't have an out you [TS]

00:42:20   don't have a place to put stuff maybe [TS]

00:42:22   we're just carve off it you would not do [TS]

00:42:23   the same thing where it would say if you [TS]

00:42:25   get close to the limit of my giant pool [TS]

00:42:27   of memory I'm going to warn you and then [TS]

00:42:30   I'm going to kill stuff off because we [TS]

00:42:31   cannot hit that limit sort of like you [TS]

00:42:35   know it does with disk space today where [TS]

00:42:36   you just can't get close to that limit [TS]

00:42:38   on disk pacer will start yelling about [TS]

00:42:39   you but Ram the operating system will [TS]

00:42:41   let you continue to use it and use it [TS]

00:42:42   when you have virtual memory with swap [TS]

00:42:44   until your computer becomes so slow that [TS]

00:42:46   you're discouraged from using it any [TS]

00:42:47   longer and you walk away and wait for [TS]

00:42:49   everything to swap in and out so I think [TS]

00:42:52   this is an interesting topic I don't [TS]

00:42:54   know what will happen in this area I [TS]

00:42:57   don't think any time in my lifetime [TS]

00:42:58   we're going to see this grand unified a [TS]

00:43:02   single pool of memory thing but if it is [TS]

00:43:07   going to happen I think it will happen [TS]

00:43:08   somewhere in the mobile space where the [TS]

00:43:10   sizes are smaller and the entrenched [TS]

00:43:14   system of dividing RAM and disk are not [TS]

00:43:19   as prevalent as they are on the PC [TS]

00:43:26   that's the end of my fake follow up [TS]

00:43:29   follow up I was what's fake about that I [TS]

00:43:32   thought it was very real well it was you [TS]

00:43:34   know it's talking about SSD is not [TS]

00:43:37   following up something we said last time [TS]

00:43:38   but it's a new top oh I see yeah so your [TS]

00:43:41   your confidence level of SSD over the [TS]

00:43:46   traditional Drive as far as a strategy [TS]

00:43:50   for Apple what are your thoughts on that [TS]

00:43:51   long-term strategy Apple's hardware [TS]

00:43:54   everything SSD yeah has to be mean it's [TS]

00:43:58   going to have [TS]

00:43:59   it's just a question of how long it [TS]

00:44:00   takes with Apple sells consumer hardware [TS]

00:44:02   so they don't have to deal with like [TS]

00:44:03   well I need to store petabytes of data [TS]

00:44:05   like they're not selling servers for the [TS]

00:44:07   data center and SSDs are way more [TS]

00:44:10   expensive than spinning disks we're just [TS]

00:44:14   kind of that inflection point where they [TS]

00:44:15   can say like when I got my MacBook Air [TS]

00:44:19   like the biggest s is the you get was [TS]

00:44:20   256 and that's what I got and that was [TS]

00:44:23   still bigger than 160 gig spinning disk [TS]

00:44:25   that was in my old MacBook Pro so it was [TS]

00:44:27   still a step up but you can get like [TS]

00:44:30   terabyte now I think terabyte laptop [TS]

00:44:32   drives are available it's four times [TS]

00:44:34   smaller than than the the biggest lap [TS]

00:44:37   spinning laptop drive you can get and [TS]

00:44:39   way way way more expensive so they're [TS]

00:44:43   just on the borderline of like you can [TS]

00:44:45   make people choke down a much higher [TS]

00:44:48   price for less space just because the [TS]

00:44:50   performance is so much better but they [TS]

00:44:52   haven't quite crawled up to like can I [TS]

00:44:54   convince someone to buy a Mac Pro with [TS]

00:44:56   just SSDs in it someone who wants a Mac [TS]

00:44:59   Pro probably wants a lot more internal [TS]

00:45:00   storage space than 256 gigs and those [TS]

00:45:02   drives are so expensive if you buy for [TS]

00:45:04   them now the entire cost of your [TS]

00:45:06   computer is basically just an SSD so the [TS]

00:45:09   price keeps going down the storage space [TS]

00:45:10   keeps going up eventually there'll be a [TS]

00:45:13   point where spinning disks are just seen [TS]

00:45:17   as archaic and everyone has to have SSDs [TS]

00:45:19   and only the people who really need [TS]

00:45:21   gigantic amount of space need spinning [TS]

00:45:22   disks and eventually those will probably [TS]

00:45:24   go away - so that's inevitable you just [TS]

00:45:27   get used to the fact that as as these [TS]

00:45:29   are coming how long before every single [TS]

00:45:33   computer Apple makes has SSD by default [TS]

00:45:35   the kinds of if they discontinue the Mac [TS]

00:45:38   Pros thoughts on discontinuing the Mac [TS]

00:45:40   Pro don't do it that's my thought please [TS]

00:45:43   as you do it you'd like you like the Mac [TS]

00:45:45   Pro and you're you're a big-time Mac Pro [TS]

00:45:47   user yeah you don't want them to get rid [TS]

00:45:49   of it I was I saw an article from I [TS]

00:45:52   don't know if you've spoken with him but [TS]

00:45:54   he's a friend of mine he used to do a [TS]

00:45:56   show here as well James Duncan Davidson [TS]

00:45:59   he's a photographer and right now or [TS]

00:46:02   very recently he was out shooting Ted [TS]

00:46:04   and he was saying that every year that [TS]

00:46:06   he shot Ted which is a number of years [TS]

00:46:08   these guys they spare no expense when it [TS]

00:46:11   comes to having great [TS]

00:46:12   hardware for the people who are doing [TS]

00:46:14   the audio video editing and then the [TS]

00:46:17   photography editing and things like that [TS]

00:46:18   and they set up a whole lab I'll try and [TS]

00:46:21   put I'll try and put one of these [TS]

00:46:22   pictures that he's taken of the lab into [TS]

00:46:25   the show notes and by the way thanks to [TS]

00:46:28   help spot calm for the show notes and [TS]

00:46:31   this year instead of having two dozen [TS]

00:46:35   Mac Pros they now have two dozen IMAX [TS]

00:46:39   with Thunderbolt drives connected to [TS]

00:46:42   them raid Thunderbolt drives connected [TS]

00:46:44   to them and they have officially moved [TS]

00:46:46   away completely from Mac Pros and now [TS]

00:46:49   they just have IMAX and it makes you [TS]

00:46:51   think that if if a company like tad if a [TS]

00:46:54   group like Ted is as as serious and [TS]

00:46:58   dedicated as they are to doing real and [TS]

00:47:02   if you've ever watched the Ted videos [TS]

00:47:04   you know these are these are phenomenal [TS]

00:47:06   videos they have the best audio-video [TS]

00:47:08   photographer people in the business [TS]

00:47:09   making them and editing them and turning [TS]

00:47:12   them around in almost real-time it's [TS]

00:47:14   it's crazy how fast they put these [TS]

00:47:16   things out there they're content with [TS]

00:47:19   IMAX why why would Apple keep making the [TS]

00:47:23   Mac Pro who is that for isn't the [TS]

00:47:25   Thunderbolt the obvious indication that [TS]

00:47:27   they're serious about moving away from [TS]

00:47:29   the Mac Pro well that particular [TS]

00:47:33   application I think doesn't need the [TS]

00:47:36   massive amounts of storage because kind [TS]

00:47:38   of a way station for a workflow that [TS]

00:47:40   takes assets from the day and grinds [TS]

00:47:42   them up and spits out some new assets [TS]

00:47:44   where you need the big spinning disks [TS]

00:47:47   that can store so much more than SSDs [TS]

00:47:48   for so much less money is where does the [TS]

00:47:51   company that is responsible for [TS]

00:47:54   recording all of Ted and producing all [TS]

00:47:56   the content where does it distorts [TS]

00:47:58   information where does it start all the [TS]

00:48:00   raw videos all the raw images all the [TS]

00:48:02   processed files everything forever [TS]

00:48:04   archived maybe puts them all on tape and [TS]

00:48:09   that's the answer but I think companies [TS]

00:48:11   that have large storage requirements [TS]

00:48:13   like people doing special effects for [TS]

00:48:14   movies or something like that they'll [TS]

00:48:17   use SSDs for the parts where speed [TS]

00:48:19   matters but at some point that like they [TS]

00:48:21   don't want to ever throw anything out [TS]

00:48:22   you want to have all your assets and all [TS]

00:48:23   everything redundantly stored in a [TS]

00:48:24   million place and that takes up a [TS]

00:48:25   tremendous and [TS]

00:48:26   room even just for one movie let alone [TS]

00:48:28   movie after movie like how many assets [TS]

00:48:29   do you think Pixar has stored [TS]

00:48:31   permanently yeah it accessible not on [TS]

00:48:34   tape or some robot has to go pull a tape [TS]

00:48:36   out and shove it in but accessible in [TS]

00:48:38   semi real-time because you might want to [TS]

00:48:39   use that asset for a new production you [TS]

00:48:41   need some list to put all that stuff in [TS]

00:48:42   SSDs just cost too much money to to do [TS]

00:48:45   that now spinning disks are so much more [TS]

00:48:47   economical especially since you have to [TS]

00:48:49   have 20 of them because you have to have [TS]

00:48:50   everything redundantly stored and you [TS]

00:48:52   know I there is still a big market for [TS]

00:48:55   it for spinning discs now is that is [TS]

00:48:58   Apple does Apple have any part of that [TS]

00:48:59   market maybe they're going to say look [TS]

00:49:02   if you want to do that you're gonna have [TS]

00:49:03   to buy disk storage from EMC or [TS]

00:49:05   something just like we at Apple do for [TS]

00:49:07   our data centers because we're not [TS]

00:49:08   interested in giving you a machine that [TS]

00:49:11   can store all that stuff or as you said [TS]

00:49:12   our machines can't store it buy an iMac [TS]

00:49:15   and connect one of these big raid things [TS]

00:49:17   that we also don't make to a Thunderbolt [TS]

00:49:20   cable you have really fast access to to [TS]

00:49:22   lots of storage the Mac Pro as a product [TS]

00:49:25   exists for reasons other than just [TS]

00:49:27   internal drives though it's got the [TS]

00:49:28   slots where you can put cards that you [TS]

00:49:29   might need cards that don't fit inside [TS]

00:49:31   the iMac because there's no place for [TS]

00:49:32   cards at all and yet maybe you can use a [TS]

00:49:34   Thunderbolt external chassis but the [TS]

00:49:35   number of PCI Express Lanes over a [TS]

00:49:37   thunderbolt wire is not that that bus is [TS]

00:49:41   not as wide as an internal slot so there [TS]

00:49:44   are many reasons why the Mac Pro still [TS]

00:49:45   needs to exist the fact that they [TS]

00:49:46   switched from Mac Pro Stimac for that [TS]

00:49:48   Ted thing they probably could have [TS]

00:49:50   gotten away with imax even sooner [TS]

00:49:53   because it's just kind of a way station [TS]

00:49:54   and not something that needs to have [TS]

00:49:56   lots of storage and those big you know [TS]

00:49:58   big special-purpose cards and yeah and [TS]

00:50:01   also the other thing to keep in mind is [TS]

00:50:02   that Ted probably has a lot of money you [TS]

00:50:05   would think so I put I I did find the [TS]

00:50:07   article and the pictures that go along [TS]

00:50:09   with it I put it into the show notes and [TS]

00:50:10   he says for Ted 2012 there's a pretty do [TS]

00:50:13   you say SATA or sad at these days I say [TS]

00:50:16   both okay for Ted 2012 there's a pretty [TS]

00:50:19   big change in the media room instead of [TS]

00:50:20   dozens of Mac Pros and piles of SATA [TS]

00:50:22   drives like there have been in the last [TS]

00:50:24   eight Ted events I've been part of the [TS]

00:50:26   room is full of IMAX and Thunderbolt [TS]

00:50:28   drives lots of Thunderbolt drives and he [TS]

00:50:30   has a photograph here he says there are [TS]

00:50:31   12 12 12 terabyte Pegasus are six arrays [TS]

00:50:36   that's a hundred and forty four [TS]

00:50:37   terabytes total [TS]

00:50:39   he says it which is about a tenth of a [TS]

00:50:41   petabyte of usual usable space for good [TS]

00:50:44   measure there are a few more pegasus [TS]

00:50:45   arrays including one that's dedicated to [TS]

00:50:47   photography and he goes on to detail [TS]

00:50:49   this and he says this is the biggest [TS]

00:50:52   appointment of thunderbolt based storage [TS]

00:50:53   that he's seen yeah I think Thunderbolt [TS]

00:50:56   has made it feasible to have external [TS]

00:50:59   storage that's really fast without [TS]

00:51:02   having some weird interface card like [TS]

00:51:04   fiber channel or something because [TS]

00:51:06   internal disk was the way the way how [TS]

00:51:08   you get the speed right because you know [TS]

00:51:10   it's fast as possible as you can get [TS]

00:51:11   it's connected right to the thing [TS]

00:51:12   there's no long wire there's no weird [TS]

00:51:14   interface it's you know sad is pretty [TS]

00:51:15   fast and they would keep cranking up the [TS]

00:51:16   speed and then once you went out over [TS]

00:51:19   firewire like firewire 400 in particular [TS]

00:51:21   was not enough to handle the output of a [TS]

00:51:24   arrayed with many spindles or any large [TS]

00:51:27   array like that firewire 800 was an [TS]

00:51:29   improvement but still I think as the the [TS]

00:51:32   Thunderbolt devices they're available [TS]

00:51:34   today show they'll take like a four disc [TS]

00:51:36   firewire 800 Drive and then I'll take a [TS]

00:51:39   four disc Thunderbolt array maybe it's [TS]

00:51:42   the same exact four mechanisms in each [TS]

00:51:44   set light but that by eight mechanisms [TS]

00:51:45   but form one form the other and the [TS]

00:51:46   Thunderbolt ones just transit because [TS]

00:51:48   Thunderbolt is like an external [TS]

00:51:50   extension of an internal bus in this [TS]

00:51:52   case it's the PCI Express bus so that [TS]

00:51:54   that probably makes it feasible for them [TS]

00:51:56   to have storage that's fast enough to do [TS]

00:51:59   all this HD video streaming or whatever [TS]

00:52:00   they're doing whilst just hooking it up [TS]

00:52:03   to an iMac with that little Thunderbolt [TS]

00:52:04   cable but the Mac pros are still an open [TS]

00:52:07   question I think let's do our second [TS]

00:52:10   sponsor its tiny letter comm they're [TS]

00:52:12   just they're putting the finishing [TS]

00:52:13   touches on a brand-new version and this [TS]

00:52:16   is very exciting they have been working [TS]

00:52:18   hard on this I talked to them about it [TS]

00:52:20   and a tiny letter in general the best [TS]

00:52:23   way for me to describe it to you is it [TS]

00:52:25   is the most simple straightforward [TS]

00:52:27   newsletter tool that has ever existed in [TS]

00:52:30   the history of the earth it's elegant [TS]

00:52:33   it's simple its straightforward it gets [TS]

00:52:36   rid of all of the extra features and [TS]

00:52:38   cruft and user interface layers and [TS]

00:52:41   throws all that out the window now some [TS]

00:52:43   people might want that go to MailChimp [TS]

00:52:45   com if you want that you don't want that [TS]

00:52:47   tiny letter super simple elegant [TS]

00:52:51   straightforward tiny letter com [TS]

00:52:53   they have a sneak peak video that they [TS]

00:52:55   just put up to give you an idea of what [TS]

00:52:57   it's going to be like within the next [TS]

00:53:01   few days when this thing comes out so go [TS]

00:53:03   check it out thanks very much two tiny [TS]

00:53:05   letter calm for making the show possible [TS]

00:53:06   I do actually have some more files of [TS]

00:53:10   some stuff lurking at the bottom here [TS]

00:53:12   we're going to talk about BOS no okay [TS]

00:53:15   would be good ID now you give me more [TS]

00:53:16   stuff I tried the Kappas to shows I had [TS]

00:53:18   to assume well I actually I wanted to [TS]

00:53:21   talk more about ZFS because all the [TS]

00:53:23   stuff we talked about was EFS was [TS]

00:53:25   focused on the particular failings of [TS]

00:53:27   HFS+ and how they're addressed by ZFS [TS]

00:53:29   with data integrity and all that but [TS]

00:53:32   there are so many more things as e of us [TS]

00:53:33   that I realize they didn't even get to [TS]

00:53:34   that are interesting and other reasons [TS]

00:53:36   why you might be interest why you might [TS]

00:53:39   want this process like things that H of [TS]

00:53:41   us aren't even a glimmer in HFS+ is I [TS]

00:53:44   but that our most modern bus system cell [TS]

00:53:46   and I imagine all sorry F SS but we [TS]

00:53:49   didn't quite get to it okay so the first [TS]

00:53:51   one which I think I mentioned this is [TS]

00:53:53   these are advantages of ZFS or neat [TS]

00:53:55   features of ZFS S and there a lot of [TS]

00:53:56   them are not unique to ZFS but I'm using [TS]

00:53:58   it as the poster boy for a modern ish [TS]

00:54:01   file system first one is constant time [TS]

00:54:04   snapshots and clones that is a mouthful [TS]

00:54:07   there so I'll explain the pros also in [TS]

00:54:11   the middle part snapshots so a snapshot [TS]

00:54:13   is like the word says kind of at [TS]

00:54:17   capturing the state of a disk at a [TS]

00:54:20   moment in time and obviously we talked [TS]

00:54:24   about this before it's a consistent [TS]

00:54:25   state so the file system might be [TS]

00:54:28   applications might be in the middle of [TS]

00:54:30   doing stuff might be in the middle of [TS]

00:54:31   writing files out or deleting stuff or [TS]

00:54:33   whatever but you're going to take a [TS]

00:54:34   snapshot and say look at that [TS]

00:54:35   application might be in the null writing [TS]

00:54:36   that file and it might have written half [TS]

00:54:38   the file but as far as the file system [TS]

00:54:40   concerned at this moment in time it [TS]

00:54:42   knows where everything is it knows [TS]

00:54:43   exactly the size of everything [TS]

00:54:44   everything is all the bookkeeping agrees [TS]

00:54:46   with each other that half written file [TS]

00:54:49   it knows that that file is is one [TS]

00:54:51   megabyte ah maybe the file will [TS]

00:54:53   eventually be two megabytes when the [TS]

00:54:54   applications done but right now one [TS]

00:54:56   megabyte is on disk the metadata says [TS]

00:54:57   one megabyte it is a moment in time [TS]

00:54:59   snapshot ah [TS]

00:55:00   and what ZFS can do is freeze that and [TS]

00:55:05   say okay now at any [TS]

00:55:07   in the future if you ever want to see [TS]

00:55:08   what this file system was like at this [TS]

00:55:10   particular moment in time it's available [TS]

00:55:12   to you you can look at what it looked [TS]

00:55:14   like at this moment in time the constant [TS]

00:55:18   time part means that a time required to [TS]

00:55:22   take a snapshot doesn't scale with the [TS]

00:55:25   size of the disk so it's not like it [TS]

00:55:26   makes a big giant copy like you so you [TS]

00:55:29   have a terabyte drive when you say ok [TS]

00:55:31   take a snapshot doesn't say ok I'm going [TS]

00:55:32   to take the entire terabyte you know say [TS]

00:55:34   this 500 you know gigabytes on there I [TS]

00:55:36   take this entire 500 gigabytes and copy [TS]

00:55:38   it someplace else it doesn't do that [TS]

00:55:41   because of the way the file system is [TS]

00:55:43   structured it can just make a note that [TS]

00:55:46   this particular moment in time is [TS]

00:55:47   important and it should be preserved [TS]

00:55:48   remember that ZFS like many other file [TS]

00:55:50   systems avoids overriding data in place [TS]

00:55:53   it writes all new changes to a new [TS]

00:55:54   location when it does that the old [TS]

00:55:57   location eventually falls out of use [TS]

00:55:59   when no more processes have that file [TS]

00:56:03   open when nobody else is using it said [TS]

00:56:05   that was the old version of this file [TS]

00:56:06   the new one is way over there so now [TS]

00:56:09   we'll just say ok this the space [TS]

00:56:10   previously occupied by the old file is [TS]

00:56:12   free to be thrown back into the pool all [TS]

00:56:13   a snapshot does is tell the filesystem [TS]

00:56:17   hey all of these things that make up [TS]

00:56:20   this moment in time of the filesystem [TS]

00:56:21   don't throw them out even when [TS]

00:56:23   everybody's done with them keep them [TS]

00:56:24   around so the literature on ZFS will say [TS]

00:56:27   that this is instantaneous instantaneous [TS]

00:56:29   snapshot Gration it's not instantaneous [TS]

00:56:31   but the point is that it's constant time [TS]

00:56:33   that it doesn't take twice as long to [TS]

00:56:35   take a snapshot of a one terabyte discus [TS]

00:56:37   as that is a 500 gig disk because the [TS]

00:56:39   operation is basically a simple [TS]

00:56:40   bookkeeping operation of saying all the [TS]

00:56:43   stuff that you need with the snapshot is [TS]

00:56:44   already on disk all I'm telling you is [TS]

00:56:47   don't throw that stuff out later so it's [TS]

00:56:50   very quick to note that like this moment [TS]

00:56:52   in time it's a snapshot and you just [TS]

00:56:54   store a little bit of metadata about [TS]

00:56:55   here's a snapshot and here's you know [TS]

00:56:56   that here's where it is in the time [TS]

00:56:58   sequence of events and don't delete that [TS]

00:56:59   stuff because it's preserving as the [TS]

00:57:01   snapshot so it's really just a promise [TS]

00:57:05   in the future to not ditch those old [TS]

00:57:08   blocks that have new versions written to [TS]

00:57:10   them and that's something you can't even [TS]

00:57:12   imagine doing hfs+ because in nature I [TS]

00:57:14   suppose everything is written in place [TS]

00:57:15   and if you wanted to know what your disk [TS]

00:57:16   looks like in a moment in time there's [TS]

00:57:17   nothing available to you to do that [TS]

00:57:19   the only thing you could possibly do [TS]

00:57:20   is stopped all processes but you can't [TS]

00:57:23   really do butts is always something [TS]

00:57:24   vlogging in the background and UNIX or [TS]

00:57:25   whatever but try to freeze it you know [TS]

00:57:27   quit every application kill all [TS]

00:57:28   processes is that the possible minimal [TS]

00:57:30   maybe rebooting single user mode or [TS]

00:57:32   something and then make an exact clone [TS]

00:57:34   of this disk to a second location either [TS]

00:57:36   a second disk or a second partition as [TS]

00:57:39   you can imagine making an exact clone of [TS]

00:57:41   a disk takes a long time and if it takes [TS]

00:57:43   twice as long to make clone of a [TS]

00:57:45   terabyte disk as a 500 gig disk and that [TS]

00:57:47   amount of time is like measured in hours [TS]

00:57:49   probably this is versus ZFS where you [TS]

00:57:52   can just snap your fingers and set up [TS]

00:57:53   make a snapshot of that so I can get [TS]

00:57:54   back to it anytime now clones are [TS]

00:57:57   writable snapshots clones let you say [TS]

00:58:01   okay take a snapshot of it but actually [TS]

00:58:04   let people make future changes to that [TS]

00:58:06   snapshot so if you took a snapshot if [TS]

00:58:08   you took if you made a clone right now [TS]

00:58:10   what you essentially have our two file [TS]

00:58:13   systems that look exactly identical and [TS]

00:58:15   you can go into one of them and start [TS]

00:58:16   messing with stuff of course the other [TS]

00:58:18   one you know your main one also [TS]

00:58:19   continues to go along and they start to [TS]

00:58:21   diverge from each other this is all [TS]

00:58:23   efficient because they share all the [TS]

00:58:25   blocks in this because they have on [TS]

00:58:27   count in common likes when you're making [TS]

00:58:28   a snapshot all the disks are in common [TS]

00:58:30   and then as time goes on something [TS]

00:58:32   changes and what it does is okay well [TS]

00:58:35   you know the same thing that always does [TS]

00:58:36   someone wants to make a change this [TS]

00:58:37   right the new version of it over there [TS]

00:58:39   and to leave the old version over there [TS]

00:58:41   because that's part of a snapshot so the [TS]

00:58:43   the two resulting logical file system [TS]

00:58:47   slowly diverged as as that more blocks [TS]

00:58:49   changed as they differ snapshots don't [TS]

00:58:51   let you modify that moment in time image [TS]

00:58:54   of the thing but clones say just make it [TS]

00:58:57   you know make a note here that this was [TS]

00:58:59   a moment in time and now future changes [TS]

00:59:01   to this clone should be separate from [TS]

00:59:02   the future changes to the operating [TS]

00:59:03   system that it was clone as if until the [TS]

00:59:05   operation to the file system that it was [TS]

00:59:06   cloned from these are two very powerful [TS]

00:59:11   and very interesting technologies that [TS]

00:59:14   I'm sure people who have never heard of [TS]

00:59:15   them can think of many possible uses for [TS]

00:59:16   them already but the fact that they are [TS]

00:59:19   not giant copy operations and don't [TS]

00:59:21   scale with the size of the file system [TS]

00:59:23   is key the number of snapshots you can [TS]

00:59:26   have on ZFS is supposedly unlimited but [TS]

00:59:30   as you can imagine if you keeps taking [TS]

00:59:32   snapshots what you're saying is the [TS]

00:59:34   blocks used [TS]

00:59:35   by the data currently on the disk can [TS]

00:59:36   never be free eventually you'll fill [TS]

00:59:38   your disk because you're you're telling [TS]

00:59:41   it you can't delete this old stuff even [TS]

00:59:43   if like so you take a snapshot then you [TS]

00:59:44   delete a 1 gigabyte file off your disk [TS]

00:59:46   well it can't actually give you one 2 [TS]

00:59:48   gigabyte of free space left because that [TS]

00:59:50   gigabyte file has still exist in the [TS]

00:59:52   snapshot so that will disappear from [TS]

00:59:53   your current disk but if you were to [TS]

00:59:55   look back in the snapshot it would still [TS]

00:59:56   be there so eventually you will fill [TS]

00:59:58   your entire disk by taking snapshots you [TS]

00:59:59   can course [TS]

00:59:59   can course [TS]

01:00:00   trim old snapshots off the end and say [TS]

01:00:02   okay this snapshot I'm done with it you [TS]

01:00:03   can free up all the blocks there or [TS]

01:00:04   whatever but the whole point of all this [TS]

01:00:05   is is that it happens very very quickly [TS]

01:00:08   basically instantaneously which is a far [TS]

01:00:11   cry from how long it takes to do a [TS]

01:00:12   super-duper backup or a Time Machine [TS]

01:00:14   backup or anything like that the second [TS]

01:00:17   related feature is sending and receiving [TS]

01:00:20   block level deltas between snapshots [TS]

01:00:24   this is where you can say okay I've got [TS]

01:00:28   a snapshot over here and I've got a [TS]

01:00:30   snapshot over there what is it is [TS]

01:00:33   different between those two things find [TS]

01:00:35   not the files that are different but [TS]

01:00:38   find the individual blocks on disk that [TS]

01:00:40   are different between snapshot a and [TS]

01:00:42   snapshot B and send them from snapshot a [TS]

01:00:44   snapshot B to make B match up with a now [TS]

01:00:50   this is should bring to mind a backup [TS]

01:00:53   type of strategy incremental backup [TS]

01:00:54   strategy and it's a big contrast with [TS]

01:00:57   the way time machine works this is a [TS]

01:00:59   review of some of the stuff they wrote [TS]

01:01:01   about in the leopard review and time [TS]

01:01:03   machine was introduced the way time [TS]

01:01:05   machine works is it also has to send the [TS]

01:01:09   differences between the last time you [TS]

01:01:10   backed up and the current state to your [TS]

01:01:12   time machine drive so if you run time [TS]

01:01:13   between the first time it copies [TS]

01:01:15   everything to a second Drive right the [TS]

01:01:17   second time you run it you don't want it [TS]

01:01:19   to copy everything again you just wanted [TS]

01:01:20   to say what has changed since the last [TS]

01:01:21   time you did a Time Machine backup and [TS]

01:01:25   then write those changes to the Time [TS]

01:01:26   Machine backup so the first backup takes [TS]

01:01:29   like hours and the second backup takes [TS]

01:01:30   maybe five minutes ah the tricky bit is [TS]

01:01:34   how do you tell what has changed since [TS]

01:01:36   the last time you made a backup in the [TS]

01:01:39   in Mac OS 10 and time machine what Mac [TS]

01:01:41   OS 10 does is anytime anything makes a [TS]

01:01:44   change to your disk it writes a little [TS]

01:01:47   log of it there's a mechanism called FS [TS]

01:01:48   events that maintains this highly [TS]

01:01:51   compressed log that tries to coalesce [TS]

01:01:53   multiple updates and all sorts of other [TS]

01:01:55   things to try to make it so it's not [TS]

01:01:56   filling your disk but right now as [TS]

01:01:58   you're if you're sitting here on your [TS]

01:01:59   computer or your Mac is doing stuff at [TS]

01:02:01   home anytime something happens to the [TS]

01:02:04   file system the operating system is [TS]

01:02:05   writing to a little log file of what [TS]

01:02:08   happened to the file system at a file [TS]

01:02:11   granularity so it's going to say this [TS]

01:02:12   file change [TS]

01:02:13   file was deleted this file was created [TS]

01:02:18   when Time Machine runs it reads it keeps [TS]

01:02:22   track of where it wasn't that log last [TS]

01:02:23   time so it says I did a time machine [TS]

01:02:25   back up and I did all the updates up to [TS]

01:02:27   file system event number 1 2 3 so I'm [TS]

01:02:29   going to start from file since event [TS]

01:02:31   number 1 2 4 and it says this file was [TS]

01:02:33   deleted ok so I know that's the change [TS]

01:02:34   you have to make in the back and it said [TS]

01:02:36   this file was modified ok so I've got to [TS]

01:02:37   grab the copy that file put it over [TS]

01:02:38   there and says this file was deleted so [TS]

01:02:40   you know it can go back go through the [TS]

01:02:43   file system event log and find the [TS]

01:02:46   things that have changed and make the [TS]

01:02:47   new backup with them when it makes the [TS]

01:02:49   backup it doesn't make it does use as [TS]

01:02:52   hard links on the target destination to [TS]

01:02:54   say all right so everything is exactly [TS]

01:02:56   the same as the last backup except this [TS]

01:02:59   one document change so it makes hard [TS]

01:03:01   links to all of the rest of the disk [TS]

01:03:03   except for the directory that has that [TS]

01:03:06   one changed file in it and then it makes [TS]

01:03:07   hard links to all the files in that [TS]

01:03:09   directory except for the one file to [TS]

01:03:10   change and then finally it copies the [TS]

01:03:12   one file to changed over to the [TS]

01:03:13   time-machine disk so it doesn't have to [TS]

01:03:19   have to complete copies every date it's [TS]

01:03:20   got one copy of all your data plus two [TS]

01:03:22   copies of that one file that changed you [TS]

01:03:25   can see this is kind of a very different [TS]

01:03:26   way to do what copy and write does it a [TS]

01:03:28   block level in something like ZFS the [TS]

01:03:32   disadvantage is that many people use [TS]

01:03:35   time as you know if you have a big file [TS]

01:03:37   like a 2 gigabyte mail database and you [TS]

01:03:40   get a single new piece of email and it [TS]

01:03:41   modifies your 2 gigabyte mail database [TS]

01:03:43   file the next time time machine runs is [TS]

01:03:47   going to see a file system event that [TS]

01:03:48   says aw since the last time I ran the [TS]

01:03:50   mail database has changed and then it's [TS]

01:03:53   going to copy the entire 2 gigabyte mail [TS]

01:03:55   database all 2 gigabytes of it over to [TS]

01:03:58   the time machine disk because that's the [TS]

01:04:00   only thing it can do it's got the old [TS]

01:04:01   version of the 2 gigabyte mail database [TS]

01:04:03   on the time machine disk and now there's [TS]

01:04:05   a new version it's got to copy the [TS]

01:04:07   entire version over there if you have [TS]

01:04:09   any large files that change frequently [TS]

01:04:10   your time machine backups are going to [TS]

01:04:13   be humongous you're going to be doing [TS]

01:04:14   gigs and gigs of i/o when may be only a [TS]

01:04:16   few kilobytes changed because it works [TS]

01:04:18   at the file level the FS immense [TS]

01:04:21   mechanism works at the file level and [TS]

01:04:23   time machine works at the file level [TS]

01:04:24   this is why mail programs that used to [TS]

01:04:26   have 2k by database [TS]

01:04:27   have since been changed to use thousands [TS]

01:04:29   and thousands of little tiny files [TS]

01:04:30   because when a little tiny file changes [TS]

01:04:32   just a little file has to be copied not [TS]

01:04:34   the entire file but there are still [TS]

01:04:35   large files that are modified fairly [TS]

01:04:37   frequently and just so wasteful to have [TS]

01:04:39   to you know I add I add two three words [TS]

01:04:41   to the end of this big Word document so [TS]

01:04:42   I got to copy the two megabyte word [TS]

01:04:44   document again if that happens over and [TS]

01:04:46   over again you're filling your backup [TS]

01:04:47   disk way fat way faster than you think [TS]

01:04:49   you should uh and you're doing a lot [TS]

01:04:52   more i/o you know you're copying tons [TS]

01:04:55   and tons of stuff uh you know from one [TS]

01:04:57   place to the other so everything takes [TS]

01:04:58   longer now this this mechanism of [TS]

01:05:01   figuring out what has changed through [TS]

01:05:05   the file system the vent thing this was [TS]

01:05:07   introduced uh I believe was introduced [TS]

01:05:09   when spotlight was introduced because [TS]

01:05:10   spotlight uses the same thing spotlight [TS]

01:05:12   is the thing that indexes all the files [TS]

01:05:14   on your just so you can search them and [TS]

01:05:16   doesn't just index the file names it [TS]

01:05:17   also indexes the file contents so [TS]

01:05:20   anytime something happens on your disk [TS]

01:05:21   in a file is written the spotlight [TS]

01:05:24   daemon else on the spotlight demo one of [TS]

01:05:26   the daemons related to spotlight is [TS]

01:05:28   listening in on that file system event [TS]

01:05:30   stream listening for every single thing [TS]

01:05:32   that happens on your disk and when [TS]

01:05:34   something happens it goes AHA a file has [TS]

01:05:36   been modified or created or deleted I [TS]

01:05:38   have to do something so say a file was [TS]

01:05:39   created says up new file is created and [TS]

01:05:41   it's notified in real time when that [TS]

01:05:42   happens and it says well I gotta go [TS]

01:05:44   index that file so it's six it's little [TS]

01:05:45   index around that file and the index R [TS]

01:05:47   reads some portion of the file and [TS]

01:05:48   updates his index of stuff and says okay [TS]

01:05:50   I read this file and I index and it's in [TS]

01:05:52   there same thing when a file is deleted [TS]

01:05:53   so this file was deleted I got to remove [TS]

01:05:55   that file from my index so when I search [TS]

01:05:56   for it later they don't find it because [TS]

01:05:57   it's gone when this mechanism is reduced [TS]

01:06:01   this firehose of file system events [TS]

01:06:04   real-time streams of what's happening in [TS]

01:06:07   the file system was only available to [TS]

01:06:10   selected apple processes so the [TS]

01:06:13   spotlight could do it and a few other [TS]

01:06:15   things we're listening on the the [TS]

01:06:16   firehose of file system events and the [TS]

01:06:19   reason it was limited to only a few [TS]

01:06:22   listeners was because this is all [TS]

01:06:27   happening in the kernel of the operating [TS]

01:06:28   system it's the only way to catch all I [TS]

01:06:30   owe that happens to a disk is to talk [TS]

01:06:31   into the kernel the file systems in that [TS]

01:06:33   magazine was hooking to the crown so [TS]

01:06:34   anytime any i/o happened it could go [TS]

01:06:36   through this list of people who are [TS]

01:06:37   interested hey is anybody listening for [TS]

01:06:39   files as events I got tell them this [TS]

01:06:40   happen Hey [TS]

01:06:41   this file was created oh hey this file [TS]

01:06:43   was deleted hey this file was modified [TS]

01:06:44   things that happen inside the kernel [TS]

01:06:47   first of all things that happen inside [TS]

01:06:49   the kernel tend not to maybe able to be [TS]

01:06:52   swapped out to disk for what I hope are [TS]

01:06:55   obvious reasons because the kernels [TS]

01:06:56   where you implement the swap stuff so if [TS]

01:06:58   for example the code that swaps virtual [TS]

01:07:01   memory to disk is swapped to disk and [TS]

01:07:03   you need it to get the stuff off disk [TS]

01:07:05   you're in a bad situation [TS]

01:07:06   so most kernel memories wire down wire [TS]

01:07:08   down means that it can't be swapped disk [TS]

01:07:10   and the kernel has buffers for storing [TS]

01:07:14   like messages that it's going to send [TS]

01:07:15   and most of those buffers are fixed in [TS]

01:07:16   size and small because that you know [TS]

01:07:18   growing memory and in the kernel is [TS]

01:07:20   another thing that tends to be frowned [TS]

01:07:22   upon you want a bunch of small fixed [TS]

01:07:24   size buffers so when you're sending [TS]

01:07:27   messages to these things that are [TS]

01:07:30   listening for filesystem events you've [TS]

01:07:32   got a window of time when things have to [TS]

01:07:34   happen [TS]

01:07:35   the kernels got to put the notification [TS]

01:07:36   in in some buffer queue for say okay by [TS]

01:07:39   the way spotlight thing you want to know [TS]

01:07:41   when something happens something [TS]

01:07:41   happened well say tons of things are [TS]

01:07:44   happening really really fast like 100 [TS]

01:07:46   files are created as fast as you [TS]

01:07:48   possibly can the thing listening for [TS]

01:07:50   filesystem events has a responsibility [TS]

01:07:52   to consume those events to pull them off [TS]

01:07:55   the queue and do something with them at [TS]

01:07:56   a speed that's close to the speed that [TS]

01:08:00   they're being filled in otherwise the [TS]

01:08:02   buffer is going to get full and what [TS]

01:08:03   happens when the buffer is full like oh [TS]

01:08:05   it's it's like the Lucy with the [TS]

01:08:06   assembly line chocolates thing right [TS]

01:08:09   what episode of ice from I Love Lucy I [TS]

01:08:11   don't know there's the one where she [TS]

01:08:12   works in a chocolate factory in the [TS]

01:08:14   chocolates are coming out faster than [TS]

01:08:15   she can box him up yeah she was also [TS]

01:08:17   funny she's she's the consumer in this [TS]

01:08:19   she's supposed to be putting them in [TS]

01:08:20   boxes and putting away but it's the [TS]

01:08:22   producer at the chocolates cannot coming [TS]

01:08:24   down the assembly line too fast you know [TS]

01:08:26   what happens is the chocolates get [TS]

01:08:28   dropped on the floor so that can happen [TS]

01:08:31   with file system event consumers if the [TS]

01:08:33   consumers are not pulling the events off [TS]

01:08:36   the queue as fast as they can are [TS]

01:08:37   they're coming in they will end up [TS]

01:08:40   missing events and the whole point of [TS]

01:08:41   this mechanism is not to miss any I have [TS]

01:08:45   to know everything that happened so [TS]

01:08:46   imagine for for the thing that writes [TS]

01:08:48   the log of things that happen that's the [TS]

01:08:50   whole point is it has to make a note of [TS]

01:08:52   everything that happened and it really [TS]

01:08:54   can't [TS]

01:08:55   an event because then say files have [TS]

01:08:58   been created really really fast and [TS]

01:08:59   things like I'm alright I'm keeping up [TS]

01:09:01   on pulling these events off the queue [TS]

01:09:02   I'm keeping track of stuff I'm it would [TS]

01:09:04   consolidate events to say like this if [TS]

01:09:05   this file was changed 17 times in [TS]

01:09:07   sequence the event log just needs to [TS]

01:09:09   know the file was changed doesn't need [TS]

01:09:10   to know how many times it was changed so [TS]

01:09:11   we consolidate all those 17 changes into [TS]

01:09:14   a single change event but eventually [TS]

01:09:15   it's got to write out to its little [TS]

01:09:16   compressed log file and disk this file [TS]

01:09:18   change and it's got to do that fast [TS]

01:09:20   enough that it doesn't get overwhelmed [TS]

01:09:21   by the events that are coming in because [TS]

01:09:22   if the kernel can't put another event on [TS]

01:09:24   the queue for this listener [TS]

01:09:25   it's going to send out a message and say [TS]

01:09:27   look I had another event for you but [TS]

01:09:28   there's no place to put it your queue is [TS]

01:09:30   full I can't put it in your queue if I [TS]

01:09:32   did that have to delete one of the [TS]

01:09:33   things that's there so I'm just going to [TS]

01:09:34   send you a message it says dude you [TS]

01:09:36   didn't keep up you missed an event sorry [TS]

01:09:38   about that [TS]

01:09:39   if that happens the next time Time [TS]

01:09:41   Machine runs it may not know about some [TS]

01:09:43   file has been modified and then when you [TS]

01:09:44   disk goes bad and you restore from your [TS]

01:09:46   time machine back up you're like wait [TS]

01:09:47   where's that file and if it's not there [TS]

01:09:49   that's bad so there are certain [TS]

01:09:52   constraints especially we're backup [TS]

01:09:54   software but even for something like [TS]

01:09:55   spotlight where like say you make a new [TS]

01:09:57   file and something couldn't keep up and [TS]

01:09:59   you go searching for it and you can't [TS]

01:10:00   find it it's never going to get into the [TS]

01:10:01   index because nobody knows that you know [TS]

01:10:03   all you know all I can do is send to the [TS]

01:10:05   the process you missed an event what is [TS]

01:10:08   the recourse that time machine and [TS]

01:10:10   spotlight have if they miss an event [TS]

01:10:13   they the alternative strategy is really [TS]

01:10:17   really bad because like our so I missed [TS]

01:10:19   an event something happened and I don't [TS]

01:10:20   know about the kernel is never going to [TS]

01:10:21   tell me again because it's long since [TS]

01:10:23   forgotten about that and moved on to [TS]

01:10:24   other things and I don't know what [TS]

01:10:26   happened maybe a really important file [TS]

01:10:28   was modified or deleted or created or [TS]

01:10:30   something and if I can't add to remove [TS]

01:10:32   it to my index and I can't put it in my [TS]

01:10:35   logs at a time machine knows to copy it [TS]

01:10:36   to another disk we've got a bad [TS]

01:10:38   situation here so what most of those [TS]

01:10:39   programs do in response to you missed an [TS]

01:10:41   event is to say oh I guess I got to scan [TS]

01:10:44   the whole disk again from top to bottom [TS]

01:10:46   maybe you've seen this if you do [TS]

01:10:49   something that angers either Time [TS]

01:10:50   Machine your spotlight where you log in [TS]

01:10:52   and spotlight says it's indexing your [TS]

01:10:54   disk again it's got to read every single [TS]

01:10:57   file in every single directory starting [TS]

01:11:00   from the beginning right now so it's [TS]

01:11:02   gotta say forget it I'm totally screwed [TS]

01:11:04   up I can do everything over again [TS]

01:11:05   re-indexing with spotlight a one [TS]

01:11:07   terabyte disk gets filled or [TS]

01:11:09   are doing a brand-new time machine back [TS]

01:11:10   up from the beginning and figuring out [TS]

01:11:11   on a file-by-file basis is this file [TS]

01:11:13   change no is this file change now it [TS]

01:11:15   takes forever and grinds your disk to [TS]

01:11:17   death [TS]

01:11:17   this is all very very bad so that's why [TS]

01:11:23   in when this mechanism introduced the [TS]

01:11:26   public interface for applications was [TS]

01:11:29   are you can't drink from the fire hose [TS]

01:11:30   because you can't be held responsible [TS]

01:11:32   for being able to keep up with the [TS]

01:11:33   stream of stuff and furthermore if we [TS]

01:11:35   have too many listeners listening for [TS]

01:11:36   every single filesystem event that's [TS]

01:11:38   happening we're going to have to slow [TS]

01:11:39   down and we might not have enough kernel [TS]

01:11:41   buffers for them and it's just you know [TS]

01:11:43   this is not for you don't touch us but [TS]

01:11:45   we'll have a public interface that will [TS]

01:11:48   give you a much lower granularity of [TS]

01:11:51   updates instead of telling you any every [TS]

01:11:53   time something changes all we're going [TS]

01:11:55   to tell you is something changed in this [TS]

01:11:58   directory and we're not going to tell [TS]

01:11:59   you what it was and those events can [TS]

01:12:01   come kind of in a leisurely manner so if [TS]

01:12:03   there's some huge amount of filesystem [TS]

01:12:04   activity going on your application using [TS]

01:12:08   this API is only going to find out about [TS]

01:12:10   it perhaps after a whole bunch of stuff [TS]

01:12:11   has changed and it's just and all you're [TS]

01:12:13   gonna get is something changed in this [TS]

01:12:15   directory and what happened I don't know [TS]

01:12:18   that's not up to us so that is a much [TS]

01:12:20   lower granularity of event then this [TS]

01:12:23   file was deleted this file was created [TS]

01:12:24   this file was modified this file was [TS]

01:12:26   deleted you know that type of thing and [TS]

01:12:27   that was the public interface to file [TS]

01:12:31   system events now and time machine can [TS]

01:12:35   consume that as well because but what [TS]

01:12:37   that means is that what you get an event [TS]

01:12:38   that says something changed in this [TS]

01:12:39   directory you have to have a way to [TS]

01:12:41   figure out all right well what changed [TS]

01:12:43   one of the ways you could figure it out [TS]

01:12:45   for example if your time machine is they [TS]

01:12:46   could say something change in this [TS]

01:12:48   directory all right well I've got a [TS]

01:12:50   backup copy of that directory why don't [TS]

01:12:52   I read that the entire content of that [TS]

01:12:54   directory and compare it to the current [TS]

01:12:56   contents and find the differences this [TS]

01:12:59   is something similar to what and user [TS]

01:13:01   programs do when they get a notification [TS]

01:13:03   it's up to the program to decide like if [TS]

01:13:06   you're interested in changes in this [TS]

01:13:07   directory start by reading the contents [TS]

01:13:09   of the directory and then listen and [TS]

01:13:10   will tell you if anything changed and [TS]

01:13:12   when they tell you something change [TS]

01:13:13   reread the contents of the directory and [TS]

01:13:15   compare it to the copy you had in memory [TS]

01:13:16   and see what changed then you can tell [TS]

01:13:17   oh this file is new this file is [TS]

01:13:19   modified you know that's kind of [TS]

01:13:20   annoying and cumbersome or whatever [TS]

01:13:22   but you can do that sort of at your [TS]

01:13:23   leisure without angering the colonel [TS]

01:13:25   who's sending a little chocolates down [TS]

01:13:26   the assembly line and without being [TS]

01:13:29   responsible or pulling chocolates off [TS]

01:13:31   the assembly line fast enough to keep up [TS]

01:13:32   with what's going on with file i/o now [TS]

01:13:36   all this is a very roundabout way to [TS]

01:13:38   talk about how ZFS tackles the same [TS]

01:13:42   problem ZFS doesn't have to have [TS]

01:13:44   something in the kernel that listens to [TS]

01:13:47   file system changes and writes them out [TS]

01:13:49   to a compress log file [TS]

01:13:50   there is no continually growing compress [TS]

01:13:52   log of all the things that have happened [TS]

01:13:53   in a ZFS system and the thing that has [TS]

01:13:57   to send the difference between one [TS]

01:13:58   snapshot and another doesn't read a big [TS]

01:14:01   log of the things that happen the file [TS]

01:14:02   system itself is essentially a log of [TS]

01:14:04   all the things that it happened because [TS]

01:14:06   it doesn't overwrite data it only writes [TS]

01:14:08   data to new location so it's basically [TS]

01:14:10   got a long stream of new data just being [TS]

01:14:14   added and added and added and then being [TS]

01:14:16   reaped off the back when it's no longer [TS]

01:14:18   in use so the thing that has to find the [TS]

01:14:21   the differences between one snapshot and [TS]

01:14:23   another first of all it doesn't have to [TS]

01:14:24   do with the file level because that's [TS]

01:14:25   not how the file system works all the [TS]

01:14:27   i/o is at a block level so if you change [TS]

01:14:29   three bytes inside a two gigabyte file [TS]

01:14:32   you're going to have it in ZFS those [TS]

01:14:34   three bytes written to a new location [TS]

01:14:36   the old three bytes in an old location [TS]

01:14:38   and you'll know since last time I look [TS]

01:14:43   at this or since from one snapshot the [TS]

01:14:44   other one snapshot includes this this [TS]

01:14:46   those three bytes in this block and the [TS]

01:14:48   other snapshot includes those two bytes [TS]

01:14:49   in this block and it can just send those [TS]

01:14:51   bytes from one place to the other it [TS]

01:14:53   doesn't have to send the entire [TS]

01:14:54   two-qubit file it doesn't have to keep [TS]

01:14:56   track of the fact that file change [TS]

01:14:57   because when it sees it that this [TS]

01:14:59   snapshot has one block for this file in [TS]

01:15:00   snapshot has the other block for the [TS]

01:15:01   file everything's check sounds it knows [TS]

01:15:03   the contents of the of the blocks are [TS]

01:15:04   different it knows which one came later [TS]

01:15:05   it doesn't it's sort of like inherent in [TS]

01:15:08   the structure of the file in itself what [TS]

01:15:11   has happened who and what the [TS]

01:15:13   differences are between these things [TS]

01:15:14   it's not instantaneous to figure out [TS]

01:15:16   what the block level dips are but it [TS]

01:15:19   doesn't require scanning all of the [TS]

01:15:22   source and all definition destination [TS]

01:15:24   and comparing them that's one of the [TS]

01:15:27   reasons why this type of strategy long [TS]

01:15:29   ago is called log structured file format [TS]

01:15:30   or does everything is appended to the [TS]

01:15:32   end as a big linear stream of new things [TS]

01:15:34   that have happened [TS]

01:15:35   and snapshotting just really tells it [TS]

01:15:37   which sets of these are relevant to each [TS]

01:15:39   other so this is one of the reasons [TS]

01:15:44   people were excited about ZFS you can [TS]

01:15:46   imagine a time machine you rebuilt on [TS]

01:15:48   top of something like ZFS your time [TS]

01:15:53   machine backups would look like this [TS]

01:15:54   first of all you could do Time Machine [TS]

01:15:56   backups locally now people know about [TS]

01:16:00   Lian know that it has local time machine [TS]

01:16:02   backups too because this is important [TS]

01:16:03   for laptop users which is increasingly [TS]

01:16:04   pretty much a close approximation of Mac [TS]

01:16:08   users because vast majority people by [TS]

01:16:10   Macs are buying laptops and they tend to [TS]

01:16:12   just have one disk so what do you do for [TS]

01:16:14   backups well Apple since their straddle [TS]

01:16:17   with H OS plus just add in another [TS]

01:16:18   mechanism whereby anytime a file is [TS]

01:16:20   saved it writes out it tries to write [TS]

01:16:22   out the byte level dips between that [TS]

01:16:24   file in this whole separate directory [TS]

01:16:25   full of file there everything that [TS]

01:16:26   happens in HFS+ is built on top of the [TS]

01:16:28   filesystem rather being built into it so [TS]

01:16:30   it's another bunch of files and another [TS]

01:16:32   bunch of database files it's like a [TS]

01:16:34   sequel Lite database and little chunks [TS]

01:16:36   of files you know Selway someone saved [TS]

01:16:38   the new version of this file well since [TS]

01:16:40   there are laptop user and they're not [TS]

01:16:42   connected to their time machine disk [TS]

01:16:43   right now make a note of this change and [TS]

01:16:46   figure out which bytes changed since [TS]

01:16:48   last version of this file and write them [TS]

01:16:50   out to the separate directory in a [TS]

01:16:51   separate file it's all in an [TS]

01:16:52   application-level type of thing and it's [TS]

01:16:54   not particularly elegant or nice but [TS]

01:16:56   this is something that they're trying to [TS]

01:16:58   do to protect Mac users who are [TS]

01:17:01   frequently away from a time machine [TS]

01:17:02   drive well if you have ZFS you could [TS]

01:17:05   take snapshots of the entire disk every [TS]

01:17:06   five minutes or every time you save or [TS]

01:17:09   any you know instantaneously at any time [TS]

01:17:11   you wanted they wouldn't require any [TS]

01:17:13   demons listening for things or any [TS]

01:17:15   separate database files or any sequel [TS]

01:17:17   Lite database of different changed [TS]

01:17:18   ranges or any secret directory full of [TS]

01:17:20   chunks of old files with directories [TS]

01:17:22   named vector dates all this stuff all [TS]

01:17:24   that stuff wouldn't have to exist it [TS]

01:17:25   would be inherent in the file system [TS]

01:17:26   itself so it should do a time machine [TS]

01:17:28   back up you would take a snapshot and [TS]

01:17:30   the reason you want to take a snapshot [TS]

01:17:32   is because you want to do a backup as an [TS]

01:17:34   ax point in time that's nothing that [TS]

01:17:37   Time Machine can't do when you start [TS]

01:17:38   doing your time machine backup you might [TS]

01:17:40   realize as you're using a computer that [TS]

01:17:41   by the time you finish doing your time [TS]

01:17:43   machine back up the disk is changed so [TS]

01:17:45   what what is the time machine backup [TS]

01:17:47   right is it a backup as of the time [TS]

01:17:49   it started or as at the time it ended [TS]

01:17:50   it's kind of a melange of all of them [TS]

01:17:52   combined like if if you're editing a [TS]

01:17:55   file and you see the little time machine [TS]

01:17:56   spinning thing you know it's backing up [TS]

01:17:58   right now and you hit save you have no [TS]

01:18:00   idea what the version that of that thing [TS]

01:18:02   got saved in fact what time machine will [TS]

01:18:03   do is after it's done running it will [TS]

01:18:04   quickly see all right while I was [TS]

01:18:06   running it anything happen and it will [TS]

01:18:07   run again and it only does that leg once [TS]

01:18:09   or twice and tries to sort of catch up [TS]

01:18:11   but it's not a point in time of anything [TS]

01:18:13   it's just kind of a mixture of different [TS]

01:18:14   of different things so if you had ZFS [TS]

01:18:18   you would take a snapshot and say look [TS]

01:18:19   I've got a completely consistent point [TS]

01:18:21   in time snapshot instantaneously this is [TS]

01:18:23   about the context of the disk was then [TS]

01:18:25   you can make a clone a writable snapshot [TS]

01:18:28   of that on the backup disk or you know [TS]

01:18:31   in place wherever you want to do it and [TS]

01:18:32   then you could send the block level [TS]

01:18:33   diffs between the snapshot in the clone [TS]

01:18:35   any time something changes so you would [TS]

01:18:37   have on the backup disk a series a [TS]

01:18:39   series of yeah they have to be right up [TS]

01:18:42   because you have to send the block level [TS]

01:18:43   disk you would have a series of clones [TS]

01:18:45   that you send the block level dips to [TS]

01:18:46   and to figure out what has changed this [TS]

01:18:48   last time you don't have to read some [TS]

01:18:50   big log of stuff or anything like that [TS]

01:18:51   and if a two gigabyte file has changed [TS]

01:18:53   you don't have to send the entire two [TS]

01:18:55   gig file you can just change send the [TS]

01:18:57   blocks that have been modified it would [TS]

01:18:59   be vastly more efficient vastly more [TS]

01:19:01   reliable and just the number of neat [TS]

01:19:04   things you could do with a constant time [TS]

01:19:06   snapshots and clones and block little [TS]

01:19:08   easy block level dips is just tremendous [TS]

01:19:10   you might still need a mechanism but [TS]

01:19:12   through which applications can listen [TS]

01:19:15   for file system events and things that [TS]

01:19:17   are changed but then that that suddenly [TS]

01:19:19   takes it off of the path of things like [TS]

01:19:21   backups ah which can't possibly miss [TS]

01:19:25   anything because they don't have to [TS]

01:19:26   worry about anything it's inherent in [TS]

01:19:27   the file system itself there's no way [TS]

01:19:28   they could possibly miss any event [TS]

01:19:30   because there are no events being [TS]

01:19:32   written it's just that's how the file [TS]

01:19:33   system is structured I'm one one more [TS]

01:19:37   final thing I want to talk about it [TS]

01:19:38   there's more things receive us usually [TS]

01:19:39   the ZFS wikipedia pages get a lot of [TS]

01:19:41   stuff deduplication this is sort of an [TS]

01:19:44   Enterprise II feature that ZFS has [TS]

01:19:46   because it's an enterprise a file system [TS]

01:19:48   what this means is that so [TS]

01:19:50   ZFS is basically managing these big [TS]

01:19:52   blobs of data a single large file could [TS]

01:19:56   be made up of lots of variable size [TS]

01:19:57   blobs that all make up the entire piece [TS]

01:19:59   of data and each one of these blobs is [TS]

01:20:02   check sums of [TS]

01:20:02   that's what ZFS does well once it has [TS]

01:20:04   these check sums which are small [TS]

01:20:05   compared to the data you know you could [TS]

01:20:07   have I don't know how big the blocks are [TS]

01:20:09   but like a megabyte 512 kilobytes or [TS]

01:20:12   whatever the checksum itself is like you [TS]

01:20:16   know 256 bits it's very small so given [TS]

01:20:21   that you have all these check sums what [TS]

01:20:24   you can do is when you say you write out [TS]

01:20:26   a 2 megabyte file and then you write out [TS]

01:20:30   another juvett file a week later that [TS]

01:20:33   happens to have the exact same contents [TS]

01:20:34   as that first 2 megabyte file why are [TS]

01:20:37   you storing the exact same 2 megabytes [TS]

01:20:39   in two different places on your disk [TS]

01:20:41   since ZFS checksum both of those 2 mega [TS]

01:20:44   byte blocks say they're in stored in big [TS]

01:20:46   contiguous 2 megabyte block it knows [TS]

01:20:47   that they're the same and what it can do [TS]

01:20:50   is say well we don't need two copies of [TS]

01:20:52   this 2 megabyte file somewhere on disk [TS]

01:20:54   I know these the contents are the same [TS]

01:20:56   because the checksum is matched why [TS]

01:20:58   don't I just get rid of one of them and [TS]

01:20:59   now both of those files are talking to [TS]

01:21:01   the same 2 megabyte block on disk that's [TS]

01:21:04   that's deduplication and it happens at a [TS]

01:21:06   block level not at a file level so if [TS]

01:21:07   you have a 3 gigabyte file and there [TS]

01:21:09   like 1 megabyte regions within them that [TS]

01:21:11   are identical any region that's [TS]

01:21:13   identically when we pulled out so one [TS]

01:21:15   example is say some file format has a [TS]

01:21:17   long header on it it's always identical [TS]

01:21:20   for all files it's just like our [TS]

01:21:22   preamble or PO stamp or something and [TS]

01:21:24   you have hundreds and hundreds of those [TS]

01:21:25   types of files you only have to store [TS]

01:21:28   that preamble or post amble in the file [TS]

01:21:29   format once for all those hundreds of [TS]

01:21:32   files so you can get disk space back by [TS]

01:21:35   finding out which portions of the file [TS]

01:21:37   are the same as portions of other files [TS]

01:21:39   and only storing one of those portions [TS]

01:21:41   this is something that happens sort of [TS]

01:21:43   offline where it doesn't happen [TS]

01:21:45   necessarily in real-time or whatever but [TS]

01:21:47   it's a way that you can say look my disk [TS]

01:21:48   is almost full there any way you can [TS]

01:21:49   give me more space it will find any [TS]

01:21:51   little piece of any file it's the same [TS]

01:21:52   as any other piece of any other little [TS]

01:21:53   file and check out one of them or check [TS]

01:21:55   out all the mix-up for one ah and why [TS]

01:21:58   does this works like what about when [TS]

01:21:59   something needs to modify that again [TS]

01:22:00   well it's copy and write anything you [TS]

01:22:02   want about anything you're always [TS]

01:22:03   writing to a new location this doesn't [TS]

01:22:04   hurt you at all in terms of making your [TS]

01:22:07   data frozen in place or unable to modify [TS]

01:22:10   this is one of the consequences of [TS]

01:22:12   having a file system or you just write [TS]

01:22:13   things out and never overwrite data in [TS]

01:22:16   place [TS]

01:22:16   uh and it's part of the file system so [TS]

01:22:20   if Apple had deduplication as part of [TS]

01:22:22   their file system I I would really not [TS]

01:22:24   like to see them try to add this HFS [TS]

01:22:25   boss but if they had a file so isn't it [TS]

01:22:26   supported this if you just started to [TS]

01:22:28   get full one of the things the operating [TS]

01:22:30   system could do is say ok let me just go [TS]

01:22:31   look for let me just start deduplicating [TS]

01:22:34   blocks and let me find some common [TS]

01:22:35   regions of files and it doesn't have to [TS]

01:22:37   scan every single file to find common [TS]

01:22:39   regions it just has to look at the check [TS]

01:22:40   sums which are very very small compared [TS]

01:22:42   to the file so we're going to say you [TS]

01:22:43   know if it stores all its check sums in [TS]

01:22:45   kind of like a sorted table a checksum [TS]

01:22:46   somewhere they can very quickly find [TS]

01:22:48   check sums are the same and just start [TS]

01:22:50   reaping data and marking it as free [TS]

01:22:52   space because it only needs one copy so [TS]

01:22:56   that's it for my neat features of ZFS [TS]

01:22:59   that HFS+ doesn't have I hope I've [TS]

01:23:01   wetted people's appetites for ZFS [TS]

01:23:04   another cool new file system there's not [TS]

01:23:06   much they can do about it except hope [TS]

01:23:08   wait and hope they can be as [TS]

01:23:11   dissatisfied as I am I put a link in the [TS]

01:23:14   show notes two more links to Jeff bond [TS]

01:23:17   wigs blog about these carpet topics a an [TS]

01:23:20   old ACM queue interview from 2007 with [TS]

01:23:23   Jeff bond wick and a link to the [TS]

01:23:27   original like PowerPoint presentation [TS]

01:23:30   for ZFS it's called ZFS the last word in [TS]

01:23:34   file systems these are all classic [TS]

01:23:36   pieces of literature from ZFS oh and by [TS]

01:23:38   the way on that on the butter FS thing [TS]

01:23:40   that I link to as well there are many [TS]

01:23:44   links to the academic PDF so the [TS]

01:23:46   academic paper is on which is based even [TS]

01:23:48   if you're someone who doesn't ever click [TS]

01:23:49   on links to PDFs of academic papers did [TS]

01:23:51   you expect it to be just horrible and [TS]

01:23:53   dry and impossible to read these are [TS]

01:23:55   surprisingly readable to anybody with [TS]

01:23:57   even a tiny bit of a CS background so I [TS]

01:23:59   encourage you to actually click on the [TS]

01:24:01   PDFs and read the the academic papers [TS]

01:24:04   they're short they're not too [TS]

01:24:05   complicated they're not filled with [TS]

01:24:06   equations that you're not going to [TS]

01:24:07   understand it's pretty basic stuff that [TS]

01:24:12   each oh yeah I was running my iPad 3 [TS]

01:24:16   predictions yes of course I've been [TS]

01:24:20   going back and forth in this when I was [TS]

01:24:22   much more sure like two weeks ago but [TS]

01:24:25   now as we get closer I don't know it [TS]

01:24:28   seems like there's there are a few [TS]

01:24:30   points [TS]

01:24:30   of that the rumors are addressing a few [TS]

01:24:34   points the first point is the screen [TS]

01:24:36   everybody seems to agree there will be a [TS]

01:24:38   Retina display there's a second question [TS]

01:24:40   which is will there continue to be a [TS]

01:24:42   previous generation of iPad like the [TS]

01:24:44   iPad 2 along with the new one there is [TS]

01:24:48   the question of price points and and [TS]

01:24:52   then finally I believe there's a [TS]

01:24:54   question of naming conventions will this [TS]

01:24:56   be the iPad 2s the iPad 3 the iPad HD [TS]

01:24:59   there's even more question about yeah so [TS]

01:25:01   those get paid once I'd love to hear all [TS]

01:25:03   of them [TS]

01:25:04   the only thing everyone agrees on is [TS]

01:25:05   Retina display yeah I also agree on that [TS]

01:25:07   yes [TS]

01:25:08   I mean we've we've all known this is [TS]

01:25:10   kind of like we all know that the the [TS]

01:25:11   MacBook Pro without an optical drive is [TS]

01:25:13   coming like we know it's coming yeah [TS]

01:25:15   matter of time and now we know the time [TS]

01:25:16   it's that's definitely come okay ah [TS]

01:25:20   I am almost as certain that Apple will [TS]

01:25:23   continue to sell an iPad with a non [TS]

01:25:25   Retina display almost hundred percent [TS]

01:25:28   certain because it just seems crazy to [TS]

01:25:30   me that they wouldn't will it be the new [TS]

01:25:32   iPad or will it be the existing iPad [TS]

01:25:34   with without the Retina display like a [TS]

01:25:36   two versions of the new one come out or [TS]

01:25:38   the one that we currently have today as [TS]

01:25:40   the iPad 2 continues to be sold [TS]

01:25:41   I think they keep selling the old one [TS]

01:25:43   because that I think that the economies [TS]

01:25:46   of scale network well they already have [TS]

01:25:47   the tooling the assembly lines the [TS]

01:25:49   people you know everything ready to make [TS]

01:25:51   those exact things and maybe you stamp [TS]

01:25:53   something different on the back of it [TS]

01:25:54   for branding if they wanted to change it [TS]

01:25:55   but it's the same reason they sell still [TS]

01:25:56   sell the iPhone 4 and the 3GS like once [TS]

01:25:58   you do the investment in making those [TS]

01:26:00   products it's much cheaper just to keep [TS]

01:26:03   making them and if they you know if they [TS]

01:26:05   want to do they could change something [TS]

01:26:06   about the name but I don't even think [TS]

01:26:07   they will I think it will be just be [TS]

01:26:09   exactly identical it'll be the iPad 2 I [TS]

01:26:13   don't think we'll even bother renaming [TS]

01:26:15   it to be like the iPad 3 slow version [TS]

01:26:17   you know because that would just be a [TS]

01:26:19   matter of stamping something different [TS]

01:26:20   on the back of the thing but I think [TS]

01:26:22   they'll just continue to sell the old [TS]

01:26:23   version the other one that I was really [TS]

01:26:26   really sure about and now I'm kind of [TS]

01:26:28   waffling but I'm still mostly sure is no [TS]

01:26:31   LTE I was so sure there would be no LTE [TS]

01:26:34   but ibex I'm reading too many rumor [TS]

01:26:36   sites and it getting into my head I'm [TS]

01:26:39   pretty certain olt that's I feel [TS]

01:26:41   strongly about that I but now [TS]

01:26:43   I have doubts doubts have been so about [TS]

01:26:45   this rumor site so I should sure not [TS]

01:26:48   read them should just stuck to my guns [TS]

01:26:49   and say no you're still saying no LT [TS]

01:26:51   yeah what does the price point at price [TS]

01:26:55   is another thing that I used to be more [TS]

01:26:57   certain of and now I'm doubting I I [TS]

01:26:59   think I used to think and still kind of [TS]

01:27:02   do that Apple at least shouldn't be [TS]

01:27:05   afraid to sell a higher priced model to [TS]

01:27:09   have one model available that is more [TS]

01:27:11   expensive than any of the current models [TS]

01:27:13   available i but now I think that Apple [TS]

01:27:18   is afraid of that I don't think they [TS]

01:27:19   should be I think they should extend in [TS]

01:27:21   both directions I think they should be [TS]

01:27:23   able to have high-end model for people [TS]

01:27:27   who want it and if the high amount is [TS]

01:27:28   like oh it's got 128 gigs of flash and [TS]

01:27:32   the retina display and you know the LTE [TS]

01:27:35   radio because I'm wrong on that or you [TS]

01:27:37   know something like push out in the high [TS]

01:27:38   end but as we get closer I think man [TS]

01:27:42   Apple just really does not want to go in [TS]

01:27:44   that direction the direction I think [TS]

01:27:46   more people can agree on is they're [TS]

01:27:47   going to try to push lower if that means [TS]

01:27:50   a price drop on the iPad - if that means [TS]

01:27:52   you know like whatever that means they [TS]

01:27:53   want to keep pushing down that always [TS]

01:27:55   want to push down push down with the [TS]

01:27:56   iPods until they're so incredibly cheap [TS]

01:27:59   they cost about as much as a case you [TS]

01:28:00   get an iPod shuffle the same prices you [TS]

01:28:02   can get like an iPhone good iPhone case [TS]

01:28:03   all right pushing down down down I think [TS]

01:28:06   the way they push down they're going to [TS]

01:28:08   push down with the iPads the same way [TS]

01:28:09   they would have with the iPhones which [TS]

01:28:10   is selling previous models the real [TS]

01:28:14   question is can Apple afford to sell an [TS]

01:28:16   iPad with a Retina display at the same [TS]

01:28:20   price points as the iPad 2 for the same [TS]

01:28:23   other features so if you take an iPad 2 [TS]

01:28:24   that has a certain amount of flash [TS]

01:28:25   memory and it has Wi-Fi and it has 3G [TS]

01:28:28   can you just swap out that display and [TS]

01:28:29   sell it at the same price certainly albo [TS]

01:28:31   can they've got room in their margins to [TS]

01:28:33   sell it with that but if they were going [TS]

01:28:35   to I thought I would have seen more of a [TS]

01:28:40   warning about future margins going as a [TS]

01:28:42   thing for Horus to talk about nothing [TS]

01:28:44   but in the earnings call I would have [TS]

01:28:47   thought that there would have been more [TS]

01:28:48   warnings about our margins are going to [TS]

01:28:50   be lower next quarter so just keep that [TS]

01:28:51   in mind and if you ask them why they [TS]

01:28:53   would say we don't talk about our [TS]

01:28:54   announced products and component [TS]

01:28:56   prices in blah blah blah like they would [TS]

01:28:57   be evasive as they always are but if [TS]

01:29:01   they're going to have the exact same [TS]

01:29:01   price points as the iPad 2 and maintain [TS]

01:29:03   their margins I don't think it's [TS]

01:29:05   possible because the screen just plain [TS]

01:29:07   cost more no matter what kind of [TS]

01:29:08   sweetheart deal they got on these [TS]

01:29:09   screens and I'm sure they got a good one [TS]

01:29:10   it doesn't cost the same as the old [TS]

01:29:13   screen their margins have to go down so [TS]

01:29:16   given that I think they may do some [TS]

01:29:21   fancy mumbo-jumbo by shuffling the other [TS]

01:29:24   features of the things so that the price [TS]

01:29:26   points remain the same but what you're [TS]

01:29:27   getting for the current cost of a 32 gig [TS]

01:29:30   Wi-Fi only iPad isn't is not exactly [TS]

01:29:34   comparable to what you get with the same [TS]

01:29:37   price point a Retina Display iPad this [TS]

01:29:40   is all lots of waffling which is to say [TS]

01:29:42   that it's clear that Apple wants to hit [TS]

01:29:45   exactly the same price points and extend [TS]

01:29:47   down that's the ideal they want exactly [TS]

01:29:49   the same price as the iPod - iPad - but [TS]

01:29:51   now the price range goes lower so if you [TS]

01:29:53   can't afford even the cheapest previous [TS]

01:29:54   iPad now maybe you can because the [TS]

01:29:56   cheapest model is even cheaper and yeah [TS]

01:29:57   maybe it's last year's model I think [TS]

01:29:59   they should extend up but I think [TS]

01:30:01   they're afraid to maybe if they [TS]

01:30:04   introduced one with more with more flash [TS]

01:30:06   like a 128 gig one they might extend up [TS]

01:30:09   but so if I had if you had to pin me [TS]

01:30:11   down I would say same price points and [TS]

01:30:15   the price range extends downward but not [TS]

01:30:17   upward what else do we have the name [TS]

01:30:20   three versus 2's I'm not really [TS]

01:30:23   interested in that because it's not [TS]

01:30:24   going to change the product that's just [TS]

01:30:26   as well you refuse to comment to s3 a [TS]

01:30:33   check those are the ones that are [TS]

01:30:35   floating around today it probably [TS]

01:30:39   depends on if it has a new case ah the [TS]

01:30:42   rumors are that the case is going to be [TS]

01:30:45   slightly thicker if that's the case [TS]

01:30:47   they're going to call three if the case [TS]

01:30:49   is exactly the same that you get away [TS]

01:30:51   with 2s and I think they might do that [TS]

01:30:53   but I'm leaning towards three and a [TS]

01:30:56   different back slightly different back [TS]

01:30:58   camera I'm assuming the camera will be [TS]

01:31:00   improved but I also would not be shocked [TS]

01:31:02   if it wasn't about other people would be [TS]

01:31:03   shocked if it was I know but other [TS]

01:31:04   people would flip out this could be one [TS]

01:31:05   of those ways they maintain the price [TS]

01:31:07   point because that camera that [TS]

01:31:08   piece-of-crap camera in the [TS]

01:31:09   back of the iPad it's got to cost them [TS]

01:31:11   two cents by now and so they said well [TS]

01:31:13   how can we hit the price point that we [TS]

01:31:15   want to hit and how can we not raise [TS]

01:31:16   prices given that we're putting the [TS]

01:31:17   super expensive screen in there well [TS]

01:31:18   keep the same crappy camera ah do you [TS]

01:31:21   think a lot of people use the iPad 2 [TS]

01:31:23   cameras for the FaceTime video [TS]

01:31:26   I bet the one in the front gets much [TS]

01:31:27   more use than the one in the back yeah [TS]

01:31:28   but you know we've all seen the people [TS]

01:31:30   holding up the iPads to take pictures of [TS]

01:31:32   stuff it happens everyone is like all [TS]

01:31:35   that now they can put in the iPhone 4 [TS]

01:31:37   camera in there if not the 4s camera [TS]

01:31:38   you're right they could but will they [TS]

01:31:40   Adam I'm I doubt that a lot the CPU a 6 [TS]

01:31:45   verses a improved variant of the a5 I'm [TS]

01:31:48   leaning pretty heavily towards the [TS]

01:31:50   variant of the a5 which means a [TS]

01:31:53   dual-core chip instead of quad-core I [TS]

01:31:54   don't think the a6 is ready yet and I [TS]

01:31:57   think the a5 with a better GPU and [TS]

01:31:58   whatever in their hands as they need for [TS]

01:32:00   the big honkin screen will be okay and [TS]

01:32:02   some people have said that even the a5 [TS]

01:32:03   could handle a Retina display as is now [TS]

01:32:06   maybe just a few other things need to be [TS]

01:32:08   tweaks so what else is left a 5x same [TS]

01:32:14   price points HD no LTE possibly the same [TS]

01:32:18   crappy camera will there be anything [TS]

01:32:22   announced at the event such as a new or [TS]

01:32:25   an actual new version of the Apple TV [TS]

01:32:30   something different that supports 1080p [TS]

01:32:32   better newer CPU inside I would really [TS]

01:32:38   like it if I I'm leaning towards know [TS]

01:32:42   nothing about Apple TV but if there is [TS]

01:32:44   something about Apple TV I'm I'm [TS]

01:32:48   thinking it's a new little black Apple [TS]

01:32:51   TV box that just has like bumped specs [TS]

01:32:55   basically it's not like an Apple [TS]

01:32:57   television set it works the same as the [TS]

01:32:59   current little black square but you know [TS]

01:33:01   supports 1080p or whatever you know but [TS]

01:33:03   nothing big revolutionary which would [TS]

01:33:06   save the Apple television set Apple [TS]

01:33:09   saves TV whatever pipe dream that we all [TS]

01:33:11   have for an end-of-the-year event and [TS]

01:33:13   just give us 2012 to mostly say if [TS]

01:33:17   you're going to buy an Apple TV now you [TS]

01:33:18   can get an apple TV 3 which looks [TS]

01:33:20   exactly like the Apple TV 2 it's little [TS]

01:33:21   black square [TS]

01:33:22   maybe the biggest change they make is [TS]

01:33:24   that the the remote is Bluetooth but I [TS]

01:33:26   don't think they've changed that it [TS]

01:33:27   would be the same so there's going to be [TS]

01:33:29   no announcement or it's going to be a [TS]

01:33:30   little dinky black Apple TV 3 type thing [TS]

01:33:33   su degree what you agree with John [TS]

01:33:34   Gruber who said laser focus on the iPad [TS]

01:33:37   and and maybe something supportive in [TS]

01:33:40   the Apple TV to go along with 1080p in [TS]

01:33:45   the iPad or something like yeah why [TS]

01:33:46   would you take away from the iPad event [TS]

01:33:48   by by showing the new version of the [TS]

01:33:51   Apple TV and the flip side is if there [TS]

01:33:54   was like a really interesting TV product [TS]

01:33:56   like whatever Apple plans to do in TV [TS]

01:33:57   that's different than this little box [TS]

01:33:59   they've been making that would have been [TS]

01:34:00   evident on the invitation because that's [TS]

01:34:02   not something you do is like oh you know [TS]

01:34:04   oh by the way one more thing we have an [TS]

01:34:06   entirely new crazy product that is just [TS]

01:34:08   insane that's going to revolutionize [TS]

01:34:10   tell that's what the event is about if [TS]

01:34:11   they're going to ever come out for you [TS]

01:34:13   know we're gonna revolutionize [TS]

01:34:14   television that's not going to be an [TS]

01:34:16   afterthought in the event I just don't [TS]

01:34:18   see that so I'm thinking nothing about [TS]

01:34:20   television and then people would just be [TS]

01:34:21   sad like I say what the heck am i except [TS]

01:34:23   for maybe itunes store selling HD stuff [TS]

01:34:26   that seems reasonable to do because [TS]

01:34:27   there's like I get this read an iPad [TS]

01:34:29   yeah my games look great but I gotta [TS]

01:34:30   watch the 720p movies on it and I get [TS]

01:34:32   zoomed up that's kind of icky so 1080p [TS]

01:34:35   content could have come at any time [TS]

01:34:36   because max can play 1080p now so I [TS]

01:34:38   don't you know whatever Apple is waiting [TS]

01:34:39   on to unleash the 1080p video content [TS]

01:34:42   that could be waiting on deals or [TS]

01:34:45   re-encoding video or they gotta [TS]

01:34:46   renegotiate something at all those deals [TS]

01:34:48   is kinda like the Beatles it's like what [TS]

01:34:50   was stopping the Beatles thing from [TS]

01:34:51   happening [TS]

01:34:51   just stupid negotiation so I'll add the [TS]

01:34:54   last question I've heard a lot of people [TS]

01:34:56   out there speculating what apps or what [TS]

01:34:58   kind of apps will be demoed and featured [TS]

01:35:00   to show off the new Retina display I've [TS]

01:35:03   heard you know if you remember earlier [TS]

01:35:05   this week Adobe released photo photo [TS]

01:35:08   shop touch and perhaps I hadn't thought [TS]

01:35:12   of this but a couple people on Twitter [TS]

01:35:14   and said to me oh I think that app was [TS]

01:35:16   leaked it shouldn't have come out that [TS]

01:35:18   soon it was supposed to be held back it [TS]

01:35:20   came out too soon something like that [TS]

01:35:21   and that was supposed to be the big app [TS]

01:35:23   that Apple demoed on stage perhaps [TS]

01:35:27   that's true perhaps not question for you [TS]

01:35:29   what what kind of app do you think that [TS]

01:35:31   they'll use to highlight the new Retina [TS]

01:35:34   display games [TS]

01:35:36   so given they're gonna do games because [TS]

01:35:38   that it combines everything they want to [TS]

01:35:39   show they want to show the more power [TS]

01:35:40   slightly more probable GPU they want to [TS]

01:35:42   show that the graphics aren't Jaggi or [TS]

01:35:44   anything drawing app is probably a good [TS]

01:35:47   choice the real problem as Gruber [TS]

01:35:49   pointed out is the Retina display is [TS]

01:35:53   very difficult to demonstrate because [TS]

01:35:54   you're probably showing it in some [TS]

01:35:56   little movie and like YouTube or even [TS]

01:35:59   Apple's own HD movies you can't see the [TS]

01:36:03   difference of like someone filming a [TS]

01:36:05   Retina display and then compressing that [TS]

01:36:06   video you know I think he said you need [TS]

01:36:08   a Retina display to appreciate a Retina [TS]

01:36:11   display [TS]

01:36:11   yeah and they can do it in slides [TS]

01:36:13   because on slides they'll zoom in the [TS]

01:36:15   slide they'll show the zoomed in picture [TS]

01:36:16   of a sprite from a game looking all [TS]

01:36:17   blocky and I'll show the nice smooth [TS]

01:36:18   line it's very easy to demonstrate in a [TS]

01:36:20   slide but when they have the actual iPad [TS]

01:36:22   thing in their hand what are they going [TS]

01:36:24   to demonstrate that I think this is [TS]

01:36:27   actually a problem for for this iPad [TS]

01:36:30   announcement because we all know that is [TS]

01:36:32   going to be Retina display we all know [TS]

01:36:34   it's impossible to demonstrate and it's [TS]

01:36:36   like what applications is this Retina [TS]

01:36:38   display make possible that previously [TS]

01:36:40   we're impossible [TS]

01:36:41   pretty much none it just makes a whole [TS]

01:36:43   bunch of them better and we all [TS]

01:36:43   understand that but then like what do [TS]

01:36:45   you talk about for the rest of the time [TS]

01:36:46   if it's just an a5 X you can say oh and [TS]

01:36:48   the graphics are you know X amount [TS]

01:36:50   faster if it's not quad-core you can't [TS]

01:36:53   say on this a double number of cores but [TS]

01:36:55   even that like I demonstrate speed ah if [TS]

01:36:58   even if is LTE that you know I don't [TS]

01:37:00   know that I guess I guess I could look [TS]

01:37:03   back at what they demonstrated the iPad [TS]

01:37:04   2 announcement there's not something [TS]

01:37:07   kintyre lee knew that you couldn't do [TS]

01:37:09   before that you can do now it just makes [TS]

01:37:10   things better and faster it's kind of [TS]

01:37:12   like a it's not a speed bump but it's [TS]

01:37:13   kind of like when they do would do all [TS]

01:37:15   new all new Powerbooks and what would be [TS]

01:37:19   different about them well they'd have [TS]

01:37:20   faster CPUs that hold more memory that [TS]

01:37:22   this could be able to get bigger and [TS]

01:37:23   maybe the screen is nicer in some way [TS]

01:37:27   but that's it's not a speed bump that [TS]

01:37:30   I'll then have a new case so this could [TS]

01:37:31   have a new case too so I think their [TS]

01:37:34   ability to do cool demos with the iPad [TS]

01:37:36   is decreasing and they are they're going [TS]

01:37:38   to be forced to demonstrate their market [TS]

01:37:42   strength by saying look at all the cool [TS]

01:37:43   applications we have so they're probably [TS]

01:37:45   going to demo applications that if you [TS]

01:37:46   think about it like well you could add [TS]

01:37:48   that application on the iPad [TS]

01:37:49   - and yeah it looks nice easy to write [TS]

01:37:51   in a display but there's nothing about [TS]

01:37:53   this new iPad that now makes this [TS]

01:37:55   application possible it wasn't possibly [TS]

01:37:56   for a good example is Microsoft Office [TS]

01:37:58   Microsoft Office could exist in for the [TS]

01:37:59   iPad 1 or the iPad 2 it happens to be if [TS]

01:38:02   it happens to be available now that [TS]

01:38:04   would be a good thing to demonstrate to [TS]

01:38:05   say look we've got Microsoft Office on [TS]

01:38:07   the iPad isn't that awesome and the same [TS]

01:38:09   thing for games or any medical imaging [TS]

01:38:12   application you want to show I don't [TS]

01:38:13   really know what their pitch is going to [TS]

01:38:15   be I just know that their job is getting [TS]

01:38:16   harder it's much easier to show the iPad [TS]

01:38:19   but the first time and the second one [TS]

01:38:20   it's like thinner and his cameras and [TS]

01:38:22   stuff but now it's not like going to [TS]

01:38:24   keep adding geegaws and making new [TS]

01:38:27   things possible on the iPad it's just [TS]

01:38:28   going to be a demonstration of look at [TS]

01:38:30   the neat new applications that are out [TS]

01:38:32   for the iPad now a dock connector I [TS]

01:38:38   think the doctors say is the same do you [TS]

01:38:42   think that we will see a new dock [TS]

01:38:43   connector sometime in the near future [TS]

01:38:45   I really hope so maybe not this revision [TS]

01:38:49   it almost sounds like we could do a [TS]

01:38:51   whole show just talking about connectors [TS]

01:38:52   like we did that time I wish I did [TS]

01:38:55   oh i phone 5 is my bed for connector [TS]

01:38:57   changes will it happen just for the [TS]

01:38:59   iPhone or will it happen across the [TS]

01:39:02   board album for the iPhone first that's [TS]

01:39:05   my prediction okay no so it be with the [TS]

01:39:07   5 and it will not some people have [TS]

01:39:10   speculated will it be a u.s. mini USB or [TS]

01:39:12   micro USB and you're saying no it will [TS]

01:39:14   just as we have the previous NOC [TS]

01:39:16   connector it will be its own new thing [TS]

01:39:17   that won't be compatible with anything [TS]

01:39:20   else they'll probably sell an adapter [TS]

01:39:21   for it but it's not like they're going [TS]

01:39:23   to take a Thunderbolt port there or some [TS]

01:39:27   kind of other that it will be Apple's [TS]

01:39:29   own new port that we've never seen [TS]

01:39:31   before I think I would love to use [TS]

01:39:33   Thunderbolt I don't think there's room [TS]

01:39:34   inside an iPhone right the controller [TS]

01:39:36   chips to support this just it don't fit [TS]

01:39:38   it's not going to not going to make it [TS]

01:39:40   and never mind that the connector itself [TS]

01:39:42   would has to have all this chips in and [TS]

01:39:43   everything that's also big and bulky so [TS]

01:39:45   they would love that Thunderbolt and [TS]

01:39:46   thunderbolt is probably actually [TS]

01:39:48   feasible on the iPad but not on the [TS]

01:39:49   phone I think the reason they're going [TS]

01:39:50   to go to a new connector on the phone if [TS]

01:39:52   it doesn't happen in the iPhone 5 then [TS]

01:39:53   maybe the 6 or something is that they're [TS]

01:39:57   going to keep making that damn phone [TS]

01:39:58   thinner and at a certain point it be [TS]

01:40:00   like that the phone at the thin end is [TS]

01:40:03   like [TS]

01:40:03   as thin is the 30-pin connector is and [TS]

01:40:05   it starts to become your limiting factor [TS]

01:40:07   and you know also I've seen you know the [TS]

01:40:10   people taking screens the inside how [TS]

01:40:11   much that how much room on the inside of [TS]

01:40:13   the phone that connector takes up it [TS]

01:40:15   starts to become an issue it's like this [TS]

01:40:17   this stupid connector is dictating the [TS]

01:40:19   design of our phone to a large extent [TS]

01:40:22   because it's taking up room on the [TS]

01:40:24   inside and we can't make the edges any [TS]

01:40:25   thinner than this because it gets a [TS]

01:40:26   little bit ridiculous the ipod touches [TS]

01:40:27   close to the as thin as you can make it [TS]

01:40:30   and still support that 30 pin connector [TS]

01:40:31   in a reasonable manner so I think it's [TS]

01:40:34   it's days are numbered and and one of [TS]

01:40:37   the easy predictions is no replacement [TS]

01:40:39   the connector is gone and there is no [TS]

01:40:41   other connector right they'll use they [TS]

01:40:43   use Wi-Fi for syncing and capacitive [TS]

01:40:45   charging further further charging and [TS]

01:40:48   that's it there you don't plug your [TS]

01:40:49   phone into anything well you could for [TS]

01:40:51   charging you can always do a little [TS]

01:40:52   pinhole like charging you can get away [TS]

01:40:54   with a really tiny hole you know we [TS]

01:40:56   think they would be able to repurpose [TS]

01:40:58   the way they've done with the shuffle [TS]

01:41:00   where you can charge with the headphone [TS]

01:41:02   jack yeah it's possible you don't charge [TS]

01:41:06   for the headphone jack on the shuffle or [TS]

01:41:07   you charge with the well I guess it's [TS]

01:41:09   the USB connector through the headphone [TS]

01:41:10   jack but yeah right but it goes it in [TS]

01:41:12   other words there's no separate there's [TS]

01:41:14   only one hole in the shuffle and they [TS]

01:41:16   could do the same thing with the iPhone [TS]

01:41:18   yeah that's that's future if you chose [TS]

01:41:20   like iPhone 6 or 7 like if we still have [TS]

01:41:22   this 30 min connector by the time we're [TS]

01:41:24   talking about iPhone 6 this time so I [TS]

01:41:25   was thinking that that entire connector [TS]

01:41:26   goes away which is it's weird because [TS]

01:41:28   that connector doesn't just sync and [TS]

01:41:31   charge it does all sorts of stuff with [TS]

01:41:33   peripherals but at a certain point when [TS]

01:41:37   this thing becomes a certain in [TS]

01:41:39   particular becomes a certain size how [TS]

01:41:41   can you attach something to this skinny [TS]

01:41:44   little card it's just basically like a [TS]

01:41:46   little screen in your aunt how do you [TS]

01:41:48   attach something to that through to a [TS]

01:41:50   port that connects with it it becomes [TS]

01:41:52   cumbersome and unwieldy and just weird [TS]

01:41:56   you know it's what weird already to [TS]

01:41:58   attach things to the bottom of your [TS]

01:41:59   phone even it's like a battery pack or [TS]

01:42:01   something so I want the I want the [TS]

01:42:03   30-pin connector go away and if [TS]

01:42:05   something has to replace that I want to [TS]

01:42:07   be much smaller so I'm predicting iPhone [TS]

01:42:08   5 but this this side new iPad I'm almost [TS]

01:42:11   certain will have 30 pin connector on [TS]

01:42:13   the bottom just like usual okay [TS]

01:42:16   and I have no inside info just this [TS]

01:42:19   disclaimer in case people think I [TS]

01:42:20   actually know stuff I know nothing [TS]

01:42:21   you'll see how wrong I am [TS]

01:42:23   and when March 7th comes if you're [TS]

01:42:24   writing down things that I predicted [TS]

01:42:26   just check them off at it then that's it [TS]

01:42:33   hundred minutes pretty good okay have a [TS]

01:42:39   good week Joe you do now [TS]

01:42:49   you [TS]