PodSearch

The Accidental Tech Podcast

175: Dance Palace

 

00:00:00   I was always just thinking this process [TS]

00:00:01   that would save me I just thought like [TS]

00:00:03   well I'll just I'll stick it out and [TS]

00:00:05   nobody knew file system here probably [TS]

00:00:07   next year and I've been thinking that [TS]

00:00:08   for a lot of years [TS]

00:00:10   well I spent this morning trying to [TS]

00:00:13   parallel eyes the lame mp3 encoder why [TS]

00:00:16   why not very hard problem that hasn't [TS]

00:00:20   been solved since like the early two [TS]

00:00:21   thousands and I often need to encode our [TS]

00:00:26   show mp3 which takes probably i don't [TS]

00:00:29   know 90 seconds to include it's it's [TS]

00:00:31   it's a surprisingly long time for a [TS]

00:00:34   modern computing tasks like that and [TS]

00:00:36   that annoys me and so I figured why [TS]

00:00:38   don't I spend the afternoon seeing if I [TS]

00:00:40   can paralyze the the mp3 encoder and I [TS]

00:00:43   have to enter there are faster encoders [TS]

00:00:46   than the lame encoder and I know this is [TS]

00:00:49   hard for me to talk about being know [TS]

00:00:50   that the word lame is really not a nice [TS]

00:00:54   word to say but it's kind of like the [TS]

00:00:56   like the gift photo editor like also not [TS]

00:00:59   a nice word to say and for whatever [TS]

00:01:01   reason these open source project named [TS]

00:01:02   themselves these acronyms without regard [TS]

00:01:04   to what those words mean and how they [TS]

00:01:06   hurt people so i'm sorry in advance but [TS]

00:01:08   it's called the lame mp3 encoder it and [TS]

00:01:11   it is I i have tested many different [TS]

00:01:14   encoding options for podcast audio from [TS]

00:01:16   mp3 AAC the HEA see like the the mp3 [TS]

00:01:20   protocol like that the add-on like [TS]

00:01:22   spectral record things to these formats [TS]

00:01:25   and simple joint stereo with the lame [TS]

00:01:28   mp3 encoder is by far the the highest [TS]

00:01:30   quality and at the best bit rates that I [TS]

00:01:32   have been found [TS]

00:01:33   it's really it's really quite good so [TS]

00:01:35   problem is mp3 encoding is very [TS]

00:01:38   difficult to parallel eyes at least [TS]

00:01:41   while also doing it well and so that's [TS]

00:01:43   what I'm kind of trying to do here just [TS]

00:01:45   for ATP well I mean ideally I would you [TS]

00:01:48   know ship this to other people as well [TS]

00:01:50   you know maybe open source it or maybe [TS]

00:01:51   just embedded into my production tool [TS]

00:01:54   about that I have to at some point [TS]

00:01:55   hopefully maybe release so that it could [TS]

00:01:58   it could be helpful because one of the [TS]

00:02:00   problems is like we've basically hit a [TS]

00:02:01   wall of single-threaded performance on [TS]

00:02:04   modern computers like we're not really [TS]

00:02:06   getting much better at that and that [TS]

00:02:08   that's like one of the only tasks that i [TS]

00:02:09   do a regular basis my computer where I'm [TS]

00:02:11   just like dying for more [TS]

00:02:13   4 gigahertz on my own one core so if i [TS]

00:02:17   can eliminate that that that makes me [TS]

00:02:18   happy with my computers and it makes me [TS]

00:02:20   happier with you know potential future [TS]

00:02:22   imax and mac pros and macbooks and [TS]

00:02:25   things because I can include our show [TS]

00:02:26   you for eight times faster and fast [TS]

00:02:29   enough that doesn't matter anymore [TS]

00:02:32   that makes sense well good luck i mean [TS]

00:02:35   i'd love to see that happen because i [TS]

00:02:37   think would make a lot of people very [TS]

00:02:38   happy but got that sounds like a royal [TS]

00:02:40   pain in the hindquarters it really is [TS]

00:02:42   the the one saving grace of this is that [TS]

00:02:45   that you know normally if you're dealing [TS]

00:02:47   with like a non-trivial sized open [TS]

00:02:50   source project or heck even regular [TS]

00:02:52   sized one usually they have HS [TS]

00:02:54   dependency hell and usually it is so [TS]

00:02:56   hard to get to the point where you can [TS]

00:02:58   even build the thing let alone like [TS]

00:03:00   trying to make changes and you know try [TS]

00:03:03   to test things and it it is such a pain [TS]

00:03:06   because they all depend on with your [TS]

00:03:07   weird crazy libraries that you don't [TS]

00:03:09   have that yet that are hard to install [TS]

00:03:11   mac OS 10 or something and it's such a [TS]

00:03:13   pain usually lame is actually really [TS]

00:03:16   simple there's not much to it it's it's [TS]

00:03:19   not very many files and there's as far [TS]

00:03:22   as I know there's no external [TS]

00:03:24   dependencies and except maybe like you [TS]

00:03:26   know basically be stuff that everything [TS]

00:03:27   has so it's pretty it's really actually [TS]

00:03:30   quite pleasant to work on so kudos to [TS]

00:03:34   the lane project this all see your C++ [TS]

00:03:36   it's all see which is also nice guy i [TS]

00:03:38   don't really know a lot of c++ so it has [TS]

00:03:41   a movie piercy is is also kind of a [TS]

00:03:43   welcome welcome change [TS]

00:03:46   it's like back a few jobs ago back when [TS]

00:03:48   you actually had a job yeah exactly i [TS]

00:03:50   still like see a lot I mean I recognize [TS]

00:03:53   that you know it you know it like [TS]

00:03:55   working and see nowadays it's like [TS]

00:03:57   having like a like a classic car that [TS]

00:03:59   you work on your garage you know it's [TS]

00:04:01   like it's like it's really it's really [TS]

00:04:03   fulfilling and its really nice and cool [TS]

00:04:06   did if if that's like your personality [TS]

00:04:07   type but i really would would be [TS]

00:04:10   hard-pressed to justify using it for [TS]

00:04:12   like quote real work anymore but but I [TS]

00:04:15   really do enjoy working with it now in [TS]

00:04:18   the on you know on the occasion that i [TS]

00:04:20   need to work on it or not I mean [TS]

00:04:23   anything's better than perl PHP am i [TS]

00:04:24   right [TS]

00:04:25   so anyway we should do some fun [TS]

00:04:26   well this year mac pro support this is [TS]

00:04:30   not good times for John siracusa that's [TS]

00:04:33   not so bad times either marcos theory [TS]

00:04:35   was that it was because of the [TS]

00:04:36   instructions [TS]

00:04:37   yeah my theory was the heart hardware [TS]

00:04:39   like encryption instructions that intel [TS]

00:04:42   has added over time but turns out [TS]

00:04:43   nope well I mean we didn't get any [TS]

00:04:45   official word on it but talking to a [TS]

00:04:47   whole bunch of people hey why do you [TS]

00:04:48   think they dropped support for this [TS]

00:04:49   computer that computer the general [TS]

00:04:51   consensus was that they just dropped [TS]

00:04:53   support for computers that are old [TS]

00:04:55   because it's a pain in the butt to keep [TS]

00:04:56   supporting them and there's lots of [TS]

00:04:57   things that are a pain to keep [TS]

00:04:58   supporting and if you do anything to us [TS]

00:05:02   that changes sort of the driver model or [TS]

00:05:03   the requires drivers to be even just [TS]

00:05:06   recompiled or change in some subtle way [TS]

00:05:08   supporting old hardware like say the [TS]

00:05:11   airport card that could be put into my [TS]

00:05:13   2008 mac pro that's kind of a pain and [TS]

00:05:16   you don't want to bother with that but [TS]

00:05:17   the big one I think is a video drivers [TS]

00:05:19   because there's usually some [TS]

00:05:21   participation from the video card vendor [TS]

00:05:23   whether it be a AMD ati or nvidia in the [TS]

00:05:27   creation of the drivers for OS 10 for [TS]

00:05:30   these various GPUs and apple doesn't [TS]

00:05:32   wanna keep doing that and usually if you [TS]

00:05:34   were to go to AMD and say hey we're [TS]

00:05:36   making a new version of the operating [TS]

00:05:38   system can you help us or either help us [TS]

00:05:41   to or do entirely on your own drivers [TS]

00:05:43   for that work with the Sierra colonel [TS]

00:05:47   and this ancient 2008 mac pro I don't [TS]

00:05:50   think they're came to do that but anyway [TS]

00:05:52   lots of reasons why you might want to [TS]

00:05:54   support old hardware and yeah no no [TS]

00:05:58   specific smoking gun for any particular [TS]

00:06:00   hardware feature that is not supported [TS]

00:06:03   and adding adding to this pile of a [TS]

00:06:05   support for the idea that it's just [TS]

00:06:07   because it's old is that 2009 macros are [TS]

00:06:10   also not supported the contrary drove i [TS]

00:06:12   hoped on the last show [TS]

00:06:14   so that means my work Mac can't run [TS]

00:06:15   Sierra either we're gonna do I'm gonna [TS]

00:06:19   wait i'm going to wait until the new [TS]

00:06:20   it's almost it's almost this you have to [TS]

00:06:22   buy a new computer [TS]

00:06:23   I everyone gets laptops at work now so [TS]

00:06:25   i'm going to wait until the new macbook [TS]

00:06:26   pros come out and then i'm going to wait [TS]

00:06:29   another month and then I'm going to get [TS]

00:06:32   a new computer work now you you do [TS]

00:06:34   realize that the new macbook pros will [TS]

00:06:36   almost certainly have the arrow key [TS]

00:06:38   layout that you hate [TS]

00:06:39   I'm not gonna use that keyboard yeah [TS]

00:06:42   that's it it's just gonna be sitting off [TS]

00:06:44   to the side with a screen that I never [TS]

00:06:46   look at connected to an external screen [TS]

00:06:48   like i'm just using it as a weird-shaped [TS]

00:06:50   mac mini that's my plan because i only [TS]

00:06:53   have one screen at work and it's not a [TS]

00:06:55   great screen but whatever it's fine [TS]

00:06:57   so I'll keep doing that are probably [TS]

00:06:58   want to get the 15-inch so i can put in [TS]

00:06:59   mirrored display mode but that's how [TS]

00:07:02   much i'm not going to use a second [TS]

00:07:03   screen just so my windows and crap won't [TS]

00:07:05   move when i disconnect the monitor [TS]

00:07:06   availability the same as on both you [TS]

00:07:08   know I mean that's my current plan i [TS]

00:07:11   love that your current plan like I [TS]

00:07:13   clearly didn't even consider another mac [TS]

00:07:15   pro well I cannot work would never buy [TS]

00:07:19   that for me like I my back was the first [TS]

00:07:21   mac at the entire company and I had to [TS]

00:07:23   get special dispensation to get it and [TS]

00:07:25   it was like way more expensive than the [TS]

00:07:27   four hundred dollar piece of crap dell [TS]

00:07:28   laptops they were getting everybody back [TS]

00:07:29   then [TS]

00:07:30   mine was like the cheapest possible mac [TS]

00:07:32   pro you could get in the minimum [TS]

00:07:34   configuration it was like fifteen [TS]

00:07:35   hundred dollars and it took so much for [TS]

00:07:38   them to choke it down [TS]

00:07:39   nowadays they're better about buying max [TS]

00:07:42   if you want and they'll buy you know [TS]

00:07:43   their danger 15-inch macbook pro and [TS]

00:07:46   that's what I plan on getting but not [TS]

00:07:48   the mac pro is not an option either is [TS]

00:07:51   an imac for that matter would you get an [TS]

00:07:53   imac over a macbook pro if you had the [TS]

00:07:55   choice [TS]

00:07:55   yes I would is the is the base model 5k [TS]

00:07:58   imac not price competitive with the [TS]

00:08:00   15-inch macbook pro I don't think its [TS]

00:08:03   price i think it's in understand big [TS]

00:08:06   corporations they just want to do things [TS]

00:08:07   the way they want to do them and they [TS]

00:08:09   want regularity and uniformity they [TS]

00:08:11   don't want you to be a special snowflake [TS]

00:08:12   on specific computer they only having [TS]

00:08:15   support and know and understand two [TS]

00:08:17   kinds of computers on the backside and [TS]

00:08:20   whatever I don't maybe i'll ask about it [TS]

00:08:23   but this is exactly my experience like [TS]

00:08:25   my company is get least Max and I think [TS]

00:08:29   there are two year leases and basically [TS]

00:08:31   your choices are macbook pro if you do [TS]

00:08:33   some sort of development work i believe [TS]

00:08:35   a macbook air if you don't or some sort [TS]

00:08:38   of god awful dell and those are may [TS]

00:08:40   actually might be an HP some awful got [TS]

00:08:41   some sort of god awful pc but it's one [TS]

00:08:43   of those three and if you want anything [TS]

00:08:45   else under the Sun well tough noogies [TS]

00:08:47   because this helped us does not want to [TS]

00:08:49   support it so I'm right there with you [TS]

00:08:50   are now to be fair I [TS]

00:08:52   microprose very nice and I have no [TS]

00:08:53   complaints i'm just saying that that is [TS]

00:08:55   the way corporate America works you must [TS]

00:08:57   conform you must be one of the people in [TS]

00:08:59   that 1984 commercial you must be a [TS]

00:09:02   faceless number in the crowd that is [TS]

00:09:05   using one of the Blessed computers i [TS]

00:09:08   miss the days when I was unsupported too [TS]

00:09:09   because when I was the first company [TS]

00:09:11   like all right but you're gonna be [TS]

00:09:12   totally unsupported like yes that's [TS]

00:09:13   exactly what I won't get to be totally [TS]

00:09:15   unsupported don't touch my computer ever [TS]

00:09:17   do nothing to it unfortunately now the [TS]

00:09:19   macs are officially supported I am beset [TS]

00:09:21   on all sides by terrible things like and [TS]

00:09:25   your mac to the active directory network [TS]

00:09:26   no all right run symantec antivirus on [TS]

00:09:30   your Mac that's real important run these [TS]

00:09:32   other applications in the background [TS]

00:09:34   that will grind your cpu to death as it [TS]

00:09:35   does who knows what it's it's really [TS]

00:09:37   terrible that we have one question do [TS]

00:09:40   you have to install adobe acrobat I [TS]

00:09:42   don't have to but it could be installed [TS]

00:09:45   on my behalf silently in the background [TS]

00:09:46   any day come to work who knows what's [TS]

00:09:48   happened to my computer because it's not [TS]

00:09:49   under my control they just force install [TS]

00:09:51   software on it whenever they want none [TS]

00:09:53   of that software makes my experience of [TS]

00:09:54   using the computer better but supposedly [TS]

00:09:56   now I'm protected from viruses [TS]

00:10:00   yeah whatever I can't believe you stand [TS]

00:10:03   for anyone else having any sort of [TS]

00:10:04   access to your computer like I [TS]

00:10:05   understand that you have no choice i [TS]

00:10:07   told you get that but you of all people [TS]

00:10:09   allowing that vulnerability if you will [TS]

00:10:12   I am stunned that you that you stand for [TS]

00:10:14   that it's wrong foot working you don't [TS]

00:10:16   like that you have no choice [TS]

00:10:17   the final bit is like how sad is this [TS]

00:10:20   really it's not really that said i [TS]

00:10:21   installed Sarah mid-2008 mac pro it runs [TS]

00:10:23   fine because i have an aftermarket GPU [TS]

00:10:25   installers little bit cranky about it [TS]

00:10:27   but if you just like i'm installing an [TS]

00:10:29   external disk at this point because Mike [TS]

00:10:31   install main system is the first [TS]

00:10:32   developer release so i installed it on [TS]

00:10:34   an external hard drive using my 2011 [TS]

00:10:36   macbook air and then i just deleted a [TS]

00:10:39   single file from the thing system [TS]

00:10:41   library core services platform support [TS]

00:10:42   plist just dunno I'm renamed or whatever [TS]

00:10:45   and then I'm a cube pro 2008 boots from [TS]

00:10:47   it just fine and it runs fine far as i [TS]

00:10:51   can tell so I don't think it'll be that [TS]

00:10:53   big a deal i may end up doing the same [TS]

00:10:54   thing with my mac at work about I'm sure [TS]

00:10:56   corporate IT would love that [TS]

00:10:58   but uh don't you know I'll i could try [TS]

00:11:01   that right before i give up and say okay [TS]

00:11:03   fine get me the new laptops or whatever [TS]

00:11:06   anyway if you have a 2008 prime macro [TS]

00:11:08   and other unsupported computer [TS]

00:11:10   you see i might work for you if the set [TS]

00:11:13   of hardware you have is not the stock [TS]

00:11:14   set of hardware that came with that [TS]

00:11:16   computer so hold on a second so you [TS]

00:11:18   generally do some amount of work at home [TS]

00:11:22   on a semi-regular basis is that correct [TS]

00:11:24   so what you're doing that on your [TS]

00:11:26   personal machine because you have a [TS]

00:11:28   macro working macro home right [TS]

00:11:30   yeah so that's cool with you like just [TS]

00:11:33   an external hard drive is just like I [TS]

00:11:35   have like seven hard drives connected to [TS]

00:11:37   my computer like for internal and three [TS]

00:11:39   external and have them are turned off [TS]

00:11:40   most of the time the other ones are [TS]

00:11:41   mounted most of the time it's really [TS]

00:11:43   easy to just put a beta OS on external [TS]

00:11:45   drive as a reboot and boot off of that [TS]

00:11:47   drive and it's fine i immediately [TS]

00:11:48   unmount all my other drives when i [TS]

00:11:50   launched nice like it's not it's not a [TS]

00:11:52   concern right now i'm gonna i'm not on [TS]

00:11:54   Sierra at all is on a general level you [TS]

00:11:56   you have put you have infected your home [TS]

00:11:58   computer with work-related things is my [TS]

00:12:00   point [TS]

00:12:01   well now because I just remote desktop [TS]

00:12:02   into my with my make it work to do stuff [TS]

00:12:05   ok so you have infected with some sort [TS]

00:12:07   of VPN connection i have infected the [TS]

00:12:08   VPN software is installed for me to get [TS]

00:12:10   on the VPN enough to about desktop i [TS]

00:12:13   gotcha ok so any of the development [TS]

00:12:15   isn't really strictly speaking happening [TS]

00:12:17   locally and and really it's not even [TS]

00:12:19   happening in my mackie their meaning [TS]

00:12:20   from then and assess aging and you know [TS]

00:12:22   like it's not unlike you I'm not [TS]

00:12:25   actually doing development on my mac [TS]

00:12:27   really I mean except for like the web [TS]

00:12:29   browsers around all the actual code and [TS]

00:12:31   everything else is on servers you know [TS]

00:12:33   gotcha all right now that's actually [TS]

00:12:35   fairly fascinating [TS]

00:12:36   I i did not know that ok anything else [TS]

00:12:38   about the mac pro sport it will never [TS]

00:12:40   end [TS]

00:12:41   anything else today alright I the talk [TS]

00:12:44   show live this was recorded tuesday the [TS]

00:12:48   this power [TS]

00:12:49   I'm sorry tuesday before this past God [TS]

00:12:51   knows by the time this thing's releases [TS]

00:12:52   try to two months ago but anyway the [TS]

00:12:55   tuesday that on WABC was going on there [TS]

00:12:59   was a talk show again this year was it [TS]

00:13:01   two years ago that we were guess I think [TS]

00:13:04   and then you know the only the only [TS]

00:13:05   reasonable conclusion after having a [TS]

00:13:07   listen this impossibly awesome an [TS]

00:13:09   attractive trio on stage [TS]

00:13:12   is to have a filler who followed up last [TS]

00:13:16   year and then this year what are you [TS]

00:13:18   gonna do well why not have Phil Schiller [TS]

00:13:20   and Craig federighi and we were all [TS]

00:13:24   there we were sitting in the front row [TS]

00:13:26   and it was amazing and i cannot say [TS]

00:13:30   enough good things about this this talk [TS]

00:13:32   show if you are not a regular talks or [TS]

00:13:33   listener if you're one of the ten people [TS]

00:13:35   that do not listen to the talk show but [TS]

00:13:36   do listen to the show I cannot encourage [TS]

00:13:40   you enough to listen to this episode of [TS]

00:13:42   the talk show will have a link in the [TS]

00:13:43   show notes it is excellent there's also [TS]

00:13:44   a video I which was very good from what [TS]

00:13:47   I've gathered i haven't actually watched [TS]

00:13:48   it myself but seeing Craig and Phil talk [TS]

00:13:53   to each other and talk to the audience [TS]

00:13:56   and talk to John Gruber all of all the [TS]

00:13:58   above was amazing and there's a few line [TS]

00:14:01   items that we'd like to go through about [TS]

00:14:03   that but one of the things that made me [TS]

00:14:05   kind of laugh and and really that I [TS]

00:14:08   loved about it made me love Craig better [TS]

00:14:10   even more was as the talk show is going [TS]

00:14:14   on [TS]

00:14:15   Craig on the surface looked comfortable [TS]

00:14:18   but if you really looked at him for more [TS]

00:14:19   than a second you realize he is not in [TS]

00:14:22   love with what he's doing right now not [TS]

00:14:24   like not the john was doing anything [TS]

00:14:25   wrong not that phil was doing anything [TS]

00:14:27   wrong you can just tell the Craig was [TS]

00:14:29   like a little nervous and not entirely [TS]

00:14:31   comfortable with what was going on and [TS]

00:14:33   he was leaning forward a lot he he kept [TS]

00:14:36   tonight i did the same thing when we [TS]

00:14:37   were on the talk show at that dub he [TS]

00:14:40   kept leaning forward and then like [TS]

00:14:42   putting his his elbow on his knee and in [TS]

00:14:44   propping his head up and then I think [TS]

00:14:46   you could really realize that kinda [TS]

00:14:48   looks a little weird for those in the [TS]

00:14:50   audience then he would try to like [TS]

00:14:51   casually put his arm down which I'm sure [TS]

00:14:53   if we look at the video of me onstage I [TS]

00:14:55   probably this 35 times but there's [TS]

00:14:57   there's a lot of that but the thing that [TS]

00:14:59   struck me the most was when John Gruber [TS]

00:15:05   talked about something developer related [TS]

00:15:08   not only did Craig have impossibly good [TS]

00:15:12   answers for all the questions sometimes [TS]

00:15:14   more forthcoming then maybe he should [TS]

00:15:16   have but he SAT bolt upright every time [TS]

00:15:20   and he was so confident and so sure of [TS]

00:15:23   himself and it was so awesome [TS]

00:15:25   to see and god I love that guy so much [TS]

00:15:28   yeah it was such a good show [TS]

00:15:30   I mean it really was you know you can [TS]

00:15:32   you can think about like you know what [TS]

00:15:34   what kind of show would you expect to [TS]

00:15:36   have where Apple executives give an [TS]

00:15:39   interview you know and and if you think [TS]

00:15:41   about it just like that you might think [TS]

00:15:43   well they shouldn't be you know going [TS]

00:15:45   over PR talking points and everything [TS]

00:15:46   and certainly some of what they say is [TS]

00:15:49   PR talking points but it most of it [TS]

00:15:51   isn't and most of it is like yeah and I [TS]

00:15:55   won't talk to this weekend without yet [TS]

00:15:57   but I basically reviewed the show for [TS]

00:16:00   John on his own chosen no he wouldn't do [TS]

00:16:02   it himself and so forget the repetition [TS]

00:16:05   here but i think one of the best insight [TS]

00:16:09   about the first of all is that we got to [TS]

00:16:11   see to apple executives interacting with [TS]

00:16:13   each other and you never see that like [TS]

00:16:16   even people in apple hardly ever see [TS]

00:16:18   that it's okay to see that in this [TS]

00:16:22   contact these these two people who [TS]

00:16:24   clearly have known each other for a very [TS]

00:16:25   long time and working for a very long [TS]

00:16:27   time to people on top of their game and [TS]

00:16:30   phil and Craig are really excellent at [TS]

00:16:33   their jobs and they both have incredibly [TS]

00:16:37   deep knowledge about the stuff that we [TS]

00:16:39   care about and the stuff that grouper [TS]

00:16:41   would be asking questions about activity [TS]

00:16:43   c so like I was thinking like you know [TS]

00:16:45   we were speculating beforehand know [TS]

00:16:47   who's gonna have this you have this year [TS]

00:16:48   and you know one of the one of the ideas [TS]

00:16:51   what if he asked him cook and having Tim [TS]

00:16:54   Cook would be like it'd be really like a [TS]

00:16:56   great badge of honor it would be like a [TS]

00:16:58   really noteworthy thing but I think [TS]

00:17:00   having filling Craig is actually a [TS]

00:17:02   better set for that audience for that [TS]

00:17:05   time because phil is really lit in many [TS]

00:17:09   ways it seems like he is kind of like [TS]

00:17:12   the head of product direction on some [TS]

00:17:14   level and and you know it seems to be [TS]

00:17:16   kind of a shared role in Steve's absence [TS]

00:17:18   you know Johnny obviously has something [TS]

00:17:20   to do with it [TS]

00:17:21   I think Tim still has some probably [TS]

00:17:22   something to do with it as well and who [TS]

00:17:24   knows who else but it seems like a lot [TS]

00:17:26   of that falls on Phil just display [TS]

00:17:28   products students in general also phil [TS]

00:17:30   is the head of the app store now [TS]

00:17:31   so again like very relevant to this [TS]

00:17:34   audience and then you have a federal key [TS]

00:17:37   who is [TS]

00:17:39   you know yes we knew he was the [TS]

00:17:40   executive in charge of software [TS]

00:17:42   engineering stuff but i don't think a [TS]

00:17:45   lot of us knew quite how much of an [TS]

00:17:46   engineer he is and also you know not [TS]

00:17:49   only does he have deep technical chops [TS]

00:17:51   but he also has deep knowledge of like [TS]

00:17:55   specific implementation details of the [TS]

00:17:57   stuff they're doing now so it's not like [TS]

00:17:59   he ascended into the into like this [TS]

00:18:00   ivory tower and is just like dictating [TS]

00:18:03   things down to his minutes have them do [TS]

00:18:04   all the work and he's just being a [TS]

00:18:05   figurehead he's clearly still very much [TS]

00:18:07   involved in those decisions and very [TS]

00:18:11   like very very very technical down too [TS]

00:18:13   deep levels and and able to explain that [TS]

00:18:16   very well [TS]

00:18:17   so to have that combo of like the [TS]

00:18:21   product guy in the app store guy and you [TS]

00:18:23   know infill and then to have Craig as [TS]

00:18:25   like the technical head is is really i [TS]

00:18:29   think the perfect combo to have at WC + [TS]

00:18:32   i think their personalities work really [TS]

00:18:33   well both in general and also with John [TS]

00:18:36   Gruber being the interviewer so overall [TS]

00:18:39   I I i would much rather have them then [TS]

00:18:42   have Tim in that context and I think it [TS]

00:18:45   was as good as it possibly can i think [TS]

00:18:46   it was great [TS]

00:18:47   mostly agree with other team would have [TS]

00:18:49   been more boring but I've been thinking [TS]

00:18:50   about it more since the DC we could like [TS]

00:18:52   it really does depend on the topic that [TS]

00:18:54   you're interested in you know if it [TS]

00:18:56   mentioned Johnny I've obviously if [TS]

00:18:58   you're going to have a bunch of [TS]

00:18:59   questions about design stuff he's the [TS]

00:19:02   guy you want and Phil is not going to be [TS]

00:19:04   able to give you much they're neither is [TS]

00:19:05   Craig for that matter because like you [TS]

00:19:07   know product design whether it be [TS]

00:19:08   hardware or software is Johnny's domain [TS]

00:19:10   and a lot of the decisions that are made [TS]

00:19:11   they're at their you know i would [TS]

00:19:13   imagine that they could add some inside [TS]

00:19:15   of you need you want the man himself if [TS]

00:19:16   you wanna get that information so [TS]

00:19:17   there's Johnny set aside and then Tim [TS]

00:19:19   after Apple comes out with the car the [TS]

00:19:21   guy you want to talk to him cook until [TS]

00:19:24   you know like the deep car people [TS]

00:19:25   because your main question is why is [TS]

00:19:26   Apple chosen to make a car and the [TS]

00:19:28   person who can answer that best is tim [TS]

00:19:29   cook right because that's a decision at [TS]

00:19:32   his level so I would actually like to [TS]

00:19:34   see tim cook at some point but for the [TS]

00:19:36   topics i was interested in this year and [TS]

00:19:38   most years [TS]

00:19:38   yeah I'd rather hear from craig and to a [TS]

00:19:41   lesser extent filled because I'm much [TS]

00:19:43   more interested in the technical less [TS]

00:19:44   interested in the app store stuff but [TS]

00:19:45   the WC like you said a lot of people [TS]

00:19:48   interested in appstore exactly the [TS]

00:19:50   reason the talk show [TS]

00:19:51   live is a topic in the follow-up ears [TS]

00:19:54   because i was adding items to follow up [TS]

00:19:55   of bits and pieces and I realized most [TS]

00:19:56   of them were information from the talk [TS]

00:19:59   show live [TS]

00:19:59   the main reason i was just people listen [TS]

00:20:01   to it is that it has information that [TS]

00:20:04   you probably won't see elsewhere because [TS]

00:20:06   you know i can fill and Craig around [TS]

00:20:08   there and they didn't just say things [TS]

00:20:10   that were already said that WC they [TS]

00:20:13   didn't just say things that have already [TS]

00:20:14   been said by Apple PR they provided new [TS]

00:20:16   information and some but i thought was [TS]

00:20:18   interesting and and you won't know [TS]

00:20:19   unless you listen to that or listen to [TS]

00:20:22   these tidbits that I pulled out of it [TS]

00:20:24   the first one is about an iOS 10 how you [TS]

00:20:27   can get rid of the Apple apps like if [TS]

00:20:29   you don't the stock app so that the tips [TS]

00:20:31   app or whatever you don't have to hide [TS]

00:20:33   them in a folder anymore you can now [TS]

00:20:34   delete them but they aren't actually [TS]

00:20:37   deleted as many people speculated and [TS]

00:20:39   has been speculated for a long time [TS]

00:20:40   before the future even appeared they're [TS]

00:20:42   not actually removed from the system [TS]

00:20:43   even though when you delete them you can [TS]

00:20:45   go to the store and then redownload them [TS]

00:20:47   but as I think it was Craig said on [TS]

00:20:48   stage that download will run [TS]

00:20:50   suspiciously fast because i am actually [TS]

00:20:52   from your computer all the apps are [TS]

00:20:55   saying oh yeah I'll redownload those for [TS]

00:20:56   you and it just reveals them again a [TS]

00:20:58   bunch of reasons were given for actually [TS]

00:21:00   leaving them on the system you will [TS]

00:21:02   delete I think the documents and data [TS]

00:21:03   associated with it but you won't do the [TS]

00:21:04   actual executable so that was [TS]

00:21:07   interesting tidbit the other one is [TS]

00:21:09   relevant to a couple of stories and [TS]

00:21:11   tweets that are going around about the [TS]

00:21:12   the current beta of the appstore add [TS]

00:21:14   service where they'll you know people [TS]

00:21:16   can try it out for free now and all you [TS]

00:21:19   do at this point is say yes I want to [TS]

00:21:20   help my app into the ad service [TS]

00:21:22   I don't think either the keywords and [TS]

00:21:24   everything as well but anyway I looked [TS]

00:21:25   around and couldn't find anything else [TS]

00:21:27   to do so I have to my at my appt in but [TS]

00:21:30   I think that just means that apple will [TS]

00:21:31   I can shove it on top of search results [TS]

00:21:33   sometimes but I don't think I have any [TS]

00:21:35   control over that [TS]

00:21:37   yeah it's like the automated woman is [TS]

00:21:38   that if you don't want to pick your [TS]

00:21:39   keywords in doing that stuff just we'll [TS]

00:21:41   figure it out for you and so one of the [TS]

00:21:42   little controversies that spun up on [TS]

00:21:45   Twitter was a i think it was someone [TS]

00:21:47   from Tweetbot was saying they search for [TS]

00:21:49   tweet pot like the actual name of the [TS]

00:21:51   application and the number-one hit the [TS]

00:21:53   ad at the top of the other search [TS]

00:21:54   results wasn't ad for twitterrific and [TS]

00:21:58   it looks like all twitterrific has [TS]

00:21:59   purchased the tweet but keyword but they [TS]

00:22:01   haven't because you can't even do that [TS]

00:22:03   at that point and I didn't [TS]

00:22:04   and that brings up the whole topic that [TS]

00:22:06   we discussed before about buying someone [TS]

00:22:09   else's trademark as a keyword so if you [TS]

00:22:11   have an application if you were you know [TS]

00:22:13   the the maker of Twitter everything you [TS]

00:22:15   wanted to buy the word the keyword [TS]

00:22:17   Tweetbot could you do that that was [TS]

00:22:19   addressed by Phil Schiller and the [TS]

00:22:21   doctor alive and he said that they are [TS]

00:22:25   explicitly allowing this i think this is [TS]

00:22:27   a direct quote from the transmittances [TS]

00:22:28   you can use someone else's brand in your [TS]

00:22:30   AdWords that you want as we thought [TS]

00:22:33   about it that is more likely to benefit [TS]

00:22:34   the small developer than the big [TS]

00:22:36   developer the idea is that if you have a [TS]

00:22:39   well-known brand if you like clash of [TS]

00:22:40   clans or something you're not going to [TS]

00:22:43   by keyword for some tiny little [TS]

00:22:45   application doesn't time a little [TS]

00:22:46   similar game that doesn't sell a lot of [TS]

00:22:48   copies but if you make a game it's [TS]

00:22:49   similar to clash of clans and you want [TS]

00:22:51   to break into the market and really [TS]

00:22:53   right now you don't have any customers [TS]

00:22:54   maybe you by the clash of clans keyword [TS]

00:22:56   that is the theory behind this and Phil [TS]

00:22:58   articulates it is the most [TS]

00:23:01   straightforward manner is you're going [TS]

00:23:02   to get and it was surprising to a lot of [TS]

00:23:04   people and we'll see how it plays out [TS]

00:23:05   real life but from the perspective of [TS]

00:23:08   app developers especially after the [TS]

00:23:10   operation of on are uneven footing it [TS]

00:23:12   seems like a pretty scummy thing to do [TS]

00:23:14   to buy your competitors trademark so i [TS]

00:23:17   think a lot of people are not going to [TS]

00:23:18   do it because it seems rude and I would [TS]

00:23:20   imagine the companies that would do it [TS]

00:23:22   are exactly the companies that are big [TS]

00:23:24   because they have no scruples and aren't [TS]

00:23:26   run by an individual who is answerable [TS]

00:23:27   to their practices and they have a [TS]

00:23:29   marketing department is measured on how [TS]

00:23:31   well they boost sales and so i think is [TS]

00:23:33   gonna happen a lot [TS]

00:23:34   I'm not entirely convinced that it's [TS]

00:23:36   going to benefit the small developer [TS]

00:23:37   more than the big developer but we'll [TS]

00:23:39   see and again we'll talk directly about [TS]

00:23:41   this issue when questioned about it on [TS]

00:23:43   dr. live so check it out [TS]

00:23:44   yeah i think it there's a number of you [TS]

00:23:47   know issues and factors that go into [TS]

00:23:48   this [TS]

00:23:49   what exactly is a small developer [TS]

00:23:50   because I think who this will actually [TS]

00:23:53   hurt most are people like twitterrific [TS]

00:23:56   and Tweetbot and maybe overcast we're [TS]

00:24:00   kind of medium-sized developers were [TS]

00:24:02   like we're not big enough for like the [TS]

00:24:04   clash of clans people to build our [TS]

00:24:05   keywords because who cares like you know [TS]

00:24:07   we are nothing compared to what they get [TS]

00:24:09   and we're also not related but other [TS]

00:24:12   people who makes you know who make apps [TS]

00:24:14   are related to podcasting or related to [TS]

00:24:17   Twitter [TS]

00:24:18   would very easily like bid on like the [TS]

00:24:20   medium-sized apps in their category and [TS]

00:24:22   on those keywords so like you know I [TS]

00:24:24   view myself as a small developer in the [TS]

00:24:26   grand scheme of things but a lot of [TS]

00:24:29   people view / cast as a big gap in the [TS]

00:24:31   category relative to their app so like [TS]

00:24:34   you know I think when Phil says this he [TS]

00:24:36   thinks this will benefit small [TS]

00:24:37   developers I don't think he's talking [TS]

00:24:39   about people like overcast and Tweetbot [TS]

00:24:41   and twitterrific i think is talking [TS]

00:24:43   about like little things that most of us [TS]

00:24:45   have never heard of that happen to be in [TS]

00:24:47   the same categories [TS]

00:24:48   he's right that it would probably [TS]

00:24:49   benefit them like you know the kind of [TS]

00:24:52   thing where like if you search for that [TS]

00:24:54   Twitter or whatever you know you get a [TS]

00:24:56   couple of twitter apps and you get a [TS]

00:24:57   whole bunch of what looks like just [TS]

00:24:59   garbage and spam and it's like you know [TS]

00:25:00   photo rotation apps for twitter or stuff [TS]

00:25:03   like that you know that kind of stuff [TS]

00:25:04   it's gonna be that kind of app I think [TS]

00:25:08   that bet that could benefit from this [TS]

00:25:09   not medium-sized apps like to directly [TS]

00:25:12   pot overcast [TS]

00:25:14   the other problem here is well and if [TS]

00:25:17   that happens to the project one is that [TS]

00:25:19   we've had you know kind of a kind of [TS]

00:25:22   like down low key word spam issues in [TS]

00:25:25   iTunes Connect since the beginning the [TS]

00:25:26   app store you know the apps have a [TS]

00:25:28   keyword field they can enter keywords [TS]

00:25:30   into it for search and those have [TS]

00:25:32   historically been used pretty pretty [TS]

00:25:34   strongly for relevance in search more so [TS]

00:25:37   than the description that is publicly [TS]

00:25:38   shown the problem is these keywords are [TS]

00:25:41   not publicly visible anywhere and so [TS]

00:25:43   there's kind of no downside for a nap to [TS]

00:25:46   put its competitors or other large apps [TS]

00:25:49   names in those keywords and Apple has a [TS]

00:25:51   rule against this but in practice that [TS]

00:25:54   rules only really enforced and [TS]

00:25:55   enforceable against like large trademark [TS]

00:25:59   like Disney you know so if you it'd be [TS]

00:26:01   hard to put disney in your keywords and [TS]

00:26:02   get accepted your app review but you [TS]

00:26:05   know if if another twitter app puts [TS]

00:26:07   Tweetbot it's keywords that is way more [TS]

00:26:10   likely to get in and to get to get [TS]

00:26:12   through and historically that has been [TS]

00:26:14   seemingly very badly enforced by app [TS]

00:26:16   review and Phil even kind of said [TS]

00:26:18   something along the lines of like we [TS]

00:26:20   know we're going to be you know trying [TS]

00:26:22   to step that up you know something about [TS]

00:26:23   something to that degree and then [TS]

00:26:25   thirdly the problem is the name of you [TS]

00:26:29   notice if you put down [TS]

00:26:30   overcast your [TS]

00:26:31   word and use might search for the word [TS]

00:26:33   overcast to test this out and then my [TS]

00:26:36   app shows up below some added you might [TS]

00:26:38   think this is horrible [TS]

00:26:39   my app is not called overcast in the app [TS]

00:26:42   store my app is called overcast colon [TS]

00:26:44   podcast player and if you look at almost [TS]

00:26:47   every other instance of this of this [TS]

00:26:49   kind of like you know add doing what [TS]

00:26:50   seems like the wrong thing like Tweetbot [TS]

00:26:53   is not just named Tweetbot twitterrific [TS]

00:26:55   is not just named twitterrific so it's [TS]

00:26:57   called like you know tweetbot for [TS]

00:26:58   twitter twitter fake twitter client [TS]

00:27:00   stuff like that like we missed you know [TS]

00:27:02   in the last couple years that we've all [TS]

00:27:05   kind of succumb to having to add [TS]

00:27:07   keywords to our apt names because quite [TS]

00:27:10   simply it works better and the search [TS]

00:27:12   has been horrible and it's been one of [TS]

00:27:13   the only ways you your gave up on the [TS]

00:27:16   search improving like you know what [TS]

00:27:17   forget we will mango we will mangle the [TS]

00:27:19   name of our application because there's [TS]

00:27:21   no other way to come up in the search [TS]

00:27:23   results i mean i remember when traffic [TS]

00:27:24   today years ago like it was a sad day [TS]

00:27:26   because it just really ugly ass up the [TS]

00:27:27   name but the problem is people would [TS]

00:27:29   search for twitter and just the [TS]

00:27:30   twitterrific would be 700 results down [TS]

00:27:33   like the relevance was so bad even [TS]

00:27:35   though it was a popular third-party [TS]

00:27:36   twitter client and when someone searches [TS]

00:27:38   for Twitter it would be a good idea to [TS]

00:27:39   show them the you know we'll reviewed [TS]

00:27:43   popular frequently updated Twitter [TS]

00:27:45   clients and instead it's like no Twitter [TS]

00:27:47   doesn't appear anywhere in your name or [TS]

00:27:48   does but it's just a prefix and like the [TS]

00:27:51   fact that twitterrific didn't show up in [TS]

00:27:53   the search results for Twitter into [TS]

00:27:54   waited lowdown that's just said so i [TS]

00:27:56   would hope that as part of this effort [TS]

00:27:57   to like police the keywords for [TS]

00:27:59   trademarks more often and stuff they [TS]

00:28:01   will also improve the search of the [TS]

00:28:02   point where you don't have to name angle [TS]

00:28:04   essentially anymore but we'll see [TS]

00:28:06   well the other thing is like I try with [TS]

00:28:08   overcast I tried not name mangling but [TS]

00:28:10   you know i launched overcast fairly late [TS]

00:28:12   in the appstore relative to the other [TS]

00:28:13   apps there was already an app named [TS]

00:28:16   exactly the string overcast [TS]

00:28:18   in fact even kind of the developer and [TS]

00:28:19   tried to buy it from him and he agreed [TS]

00:28:21   and we had agreed to actually transfer [TS]

00:28:23   this app to me just so I could like [TS]

00:28:24   delete it and reuse the name but the app [TS]

00:28:27   use iCloud and so we couldn't transfer [TS]

00:28:29   it [TS]

00:28:30   what why don't you just the one it just [TS]

00:28:32   came to rename it i think i somehow we [TS]

00:28:34   just like I just kind of like we can [TS]

00:28:36   drop the ball on continuing the [TS]

00:28:37   conversation so I admire it probably [TS]

00:28:38   just fell apart [TS]

00:28:40   just through apathy but like there is an [TS]

00:28:42   app called overcast it's it's a i [TS]

00:28:44   believe the seller's name is Willis [TS]

00:28:46   ingersoll something that it's like a [TS]

00:28:47   file transfer app for cloud services and [TS]

00:28:50   the app store like even though the world [TS]

00:28:52   of trademark allows for the same name to [TS]

00:28:55   be used in different industries in [TS]

00:28:57   different contexts the app store doesn't [TS]

00:29:00   unless you do weird tricks with [TS]

00:29:01   international titles so it sometimes [TS]

00:29:03   does but usually doesn't it's like it's [TS]

00:29:05   a mess [TS]

00:29:06   it's that section that's so this is like [TS]

00:29:10   you know the combination of lots of [TS]

00:29:12   long-standing appstore problems results [TS]

00:29:15   in this like mediocre situation we have [TS]

00:29:17   with titles with keywords after them [TS]

00:29:19   along with you know the new ads not [TS]

00:29:22   matching things exactly probably yeah [TS]

00:29:24   it's gonna be interesting [TS]

00:29:26   uh let's talk about Apple photos and the [TS]

00:29:30   john sarkissian controller search [TS]

00:29:33   yeah that was our my quality metric I [TS]

00:29:36   call the original problem that I have is [TS]

00:29:38   that i couldn't find a picture of my [TS]

00:29:39   playstation 4 controller in Apple's [TS]

00:29:41   photos application this is before iOS 10 [TS]

00:29:44   before WTC so I put all my photos into [TS]

00:29:45   google photos and amazingly UFOs was [TS]

00:29:47   able to find it just made me typing the [TS]

00:29:49   word controller and of course Apple [TS]

00:29:51   announced similar foto search for iOS 10 [TS]

00:29:55   and mac OS Sierra and I speculated on [TS]

00:29:59   last show that it would not be able to [TS]

00:30:02   find controller by me typing controller [TS]

00:30:04   because Apple is not good at the type of [TS]

00:30:06   thing and Google is so now having [TS]

00:30:08   installed a actually i haven't installed [TS]

00:30:12   and many other people have installed i [TS]

00:30:13   have installed Michael CRP i have [TS]

00:30:15   installed iOS 10 many other people have [TS]

00:30:16   installed all these betas onto their [TS]

00:30:19   iphones because they're very brave [TS]

00:30:20   people and they have taken my exact [TS]

00:30:22   pictures of the controller they pull [TS]

00:30:24   them from Twitter and put them into [TS]

00:30:25   their photo libraries and down the [TS]

00:30:26   search receive would find it and it [TS]

00:30:28   doesn't find if you type controller but [TS]

00:30:30   because Apple search APIs foto search [TS]

00:30:32   works a little bit differently or at [TS]

00:30:33   least present a different UI then Google [TS]

00:30:35   fotosearch it does find it when you type [TS]

00:30:38   control stick or I think also gamepad [TS]

00:30:40   and this brings up the the the UI that [TS]

00:30:44   arises as you type it shows like [TS]

00:30:45   category results as if it puts things [TS]

00:30:49   into buckets and indeed it does kan has [TS]

00:30:51   a blog post [TS]

00:30:52   that list out all of the buckets that it [TS]

00:30:55   has something like 4,000 buckets to put [TS]

00:30:58   things in there's a lot of stuff in [TS]

00:31:00   their dance palaces banana chairlifts [TS]

00:31:05   wait what's a dance palace is seriously [TS]

00:31:07   i don't know i'm just reading some of [TS]

00:31:08   the keywords here or kid kiln got killed [TS]

00:31:12   that's a good one [TS]

00:31:12   polos blocks pulley trikes trumpets to [TS]

00:31:16   but bass horn [TS]

00:31:17   I mean like it's got huge amount of [TS]

00:31:19   things basically if you type a word that [TS]

00:31:21   is not one of the words on this list it [TS]

00:31:23   won't find it so as you type it's [TS]

00:31:24   showing you the words that begin with [TS]

00:31:25   their contain these things so it's a [TS]

00:31:27   little bit different you I was trying to [TS]

00:31:29   lead you to its notion of those things [TS]

00:31:31   so if you type control start typing [TS]

00:31:33   controller and you see control stick [TS]

00:31:34   you probably tap that one so good job [TS]

00:31:39   APPL photos so far on finding the [TS]

00:31:42   controller that I didn't think you would [TS]

00:31:43   ever find because that's that's good [TS]

00:31:45   photo recognition because the controller [TS]

00:31:46   was upside down any searches pretty [TS]

00:31:48   obscure category on the other hand [TS]

00:31:50   someone also said that Apple's [TS]

00:31:52   fotosearch thinks because it couldn't [TS]

00:31:53   find birthday pics or babies or pictures [TS]

00:31:56   of a couch so I don't know if they think [TS]

00:31:58   just had an indexed everything yet or [TS]

00:32:00   those things aren't among keywords or [TS]

00:32:01   anything like that but we'll see as this [TS]

00:32:03   rules out but you can finally your dance [TS]

00:32:05   palaces if you have pictures of dance [TS]

00:32:06   palaces it will find that before it will [TS]

00:32:08   find your couch not quite sure what [TS]

00:32:10   would come up for dance palace but yeah [TS]

00:32:11   I'm you know I have my entire photo [TS]

00:32:13   library in google photos and also my [TS]

00:32:15   entire photo library and apples photos [TS]

00:32:17   so when these things release for real i [TS]

00:32:19   can do a B test right next to each other [TS]

00:32:20   with the exact same library and do a [TS]

00:32:23   little break off and when that happens i [TS]

00:32:24   will definitely have some results but so [TS]

00:32:28   far so good for Apple it is more [TS]

00:32:29   impressive than I thought it would be [TS]

00:32:31   I'm looking up at a dance palaces our [TS]

00:32:35   first sponsor tonight is fracture go to [TS]

00:32:37   fracture me.com and check it out with [TS]

00:32:39   code ATP ten for ten percent off [TS]

00:32:41   fractures a company that prints photos [TS]

00:32:43   in vivid color directly onto panes of [TS]

00:32:45   glass [TS]

00:32:47   it looks fantastic the colors pop like [TS]

00:32:49   you won't believe it comes in a nice [TS]

00:32:51   solid foam backing was ready to mount [TS]

00:32:53   right out of the package here those [TS]

00:32:54   works its it looks just like you know [TS]

00:32:57   complete picture you don't have to frame [TS]

00:32:59   it [TS]

00:32:59   you don't have to do anything else to it [TS]

00:33:00   is a complete picture it is a rectangle [TS]

00:33:02   or square of glass with your photo [TS]

00:33:04   printed right behind the front leg [TS]

00:33:06   of glass and then behind that little [TS]

00:33:08   little tiny bit of foam board so that [TS]

00:33:10   you can hang it easily because like them [TS]

00:33:12   you know things can hook into the foam [TS]

00:33:13   board that one scratch the glass or the [TS]

00:33:15   ink layer so it just looks fantastic it [TS]

00:33:18   looks very modern and clean and I have [TS]

00:33:21   these all over our house our office [TS]

00:33:23   they're everywhere people always [TS]

00:33:25   compliment them they make great gifts [TS]

00:33:26   they make great keepsakes you can get [TS]

00:33:28   your photos and actually print them and [TS]

00:33:30   actually have a physical representation [TS]

00:33:31   so you can remember this photo for more [TS]

00:33:33   than like the two days it's in your [TS]

00:33:35   facebook feed or whatever [TS]

00:33:36   check it out this prices are very [TS]

00:33:38   reasonable for fractures start just [TS]

00:33:39   fifteen dollars for their small square [TS]

00:33:41   size which is great for Instagram prints [TS]

00:33:43   and also making a non-square you know [TS]

00:33:46   rectangles they are awesome again they [TS]

00:33:48   make fantastic gifts we give them as [TS]

00:33:49   gifts many times these prints look [TS]

00:33:52   fantastic from fracture so check it out [TS]

00:33:54   today at fracture me.com and use code [TS]

00:33:57   ten percent off with the code ATP 10 i [TS]

00:34:00   recommend them they're great [TS]

00:34:02   check out fracture thanks a lot ah [TS]

00:34:03   alright so some slightly late breaking [TS]

00:34:09   news before we recorded the Thunderbolt [TS]

00:34:12   Display the thing that I've been lusting [TS]

00:34:14   after since sep tember 2011 when it was [TS]

00:34:17   brand-new which was the last time it was [TS]

00:34:21   updated anyway even that was a minor [TS]

00:34:23   update over the LED display that came [TS]

00:34:25   out right before the fair enough [TS]

00:34:28   the Thunderbolt Display has been [TS]

00:34:29   discontinued sad times so at this point [TS]

00:34:32   Apple does not sell an external display [TS]

00:34:34   it did have a minor update where they [TS]

00:34:36   started shipping the magsafe 122 adapter [TS]

00:34:39   in the box and write something like that [TS]

00:34:43   so that they never actually gave it the [TS]

00:34:44   magsafe 2 like natively they just kind [TS]

00:34:46   of ship through this [TS]

00:34:47   $8 Democrat the yeah excuse me I believe [TS]

00:34:51   that adapters $10 thank you very much [TS]

00:34:53   sorry you're right you're right [TS]

00:34:54   yeah so this is somewhat sad times if [TS]

00:34:58   you fancied having a non-retina external [TS]

00:35:01   display that's very pretty to look at [TS]

00:35:02   and presumably for non-retina being very [TS]

00:35:05   very pretty too to see what's on the [TS]

00:35:07   screen as well however does this make us [TS]

00:35:09   think that maybe a retina displays [TS]

00:35:12   coming soon maybe with the GPU built-in [TS]

00:35:15   I don't know I i would think so but it [TS]

00:35:17   seems odd to me that they would just [TS]

00:35:19   continue [TS]

00:35:19   without having something to replace it [TS]

00:35:21   and maybe they just don't sell enough of [TS]

00:35:23   them maybe they can't get that screen [TS]

00:35:25   from the vendor anymore because it's so [TS]

00:35:26   terrible because the pixels of the size [TS]

00:35:27   of bullets i don't know like the apples [TS]

00:35:30   did you read apples official statement [TS]

00:35:31   that promotes yeah i was really short [TS]

00:35:34   wasn't we're gonna go we're just [TS]

00:35:36   continuing the apple thunderbolt display [TS]

00:35:37   will be available through apple.com [TS]

00:35:38   apple retail stores not authorized [TS]

00:35:40   resellers while supplies last [TS]

00:35:42   there are a number of great third-party [TS]

00:35:44   options available for Mac users it's [TS]

00:35:46   kind of surprising that they even gave a [TS]

00:35:49   statement about it like that they that [TS]

00:35:50   they call the attention to it at all I [TS]

00:35:52   mean usually when Apple discontinues a [TS]

00:35:54   product like you know it's like when [TS]

00:35:55   it's not very important that you just [TS]

00:35:57   kind of quietly removed from sale like [TS]

00:35:59   it's I think it's usually a clear [TS]

00:36:01   replacement when they do that that's [TS]

00:36:02   like they remove the old one and as [TS]

00:36:03   always the new one and this is a little [TS]

00:36:05   bit weird but they're removing the old [TS]

00:36:06   one without anyone to replace it and I [TS]

00:36:09   still put the odds that greater than [TS]

00:36:11   50-percent that there will be [TS]

00:36:12   replacement for this product [TS]

00:36:14   oh yeah because it's such a gimme they [TS]

00:36:15   have the screen it's in the five um I [TS]

00:36:17   quit staring at it for a long time you [TS]

00:36:19   put in a case you know just ship it like [TS]

00:36:21   but maybe that's not ready yet and maybe [TS]

00:36:23   it's part of the harbor announcement for [TS]

00:36:24   whatever reason that it's like I I think [TS]

00:36:27   I don't think that's a lot of wonderful [TS]

00:36:29   display so thousand-dollar monitor that [TS]

00:36:31   is not worth a thousand dollars at this [TS]

00:36:33   point like arguable you could argue [TS]

00:36:34   about it when i was first introduced but [TS]

00:36:36   it is a really nice monitor and back [TS]

00:36:37   before they were there were no options [TS]

00:36:39   for 27 dresses when it was introduced in [TS]

00:36:41   2011 so it was good weather was four [TS]

00:36:43   thousand dollars who knows but at this [TS]

00:36:45   point it's definitely not worth thousand [TS]

00:36:46   dollar so they must not have been [TS]

00:36:47   selling a lot of them and as they know [TS]

00:36:50   you know while supplies last they need [TS]

00:36:51   to get rid of all his inventory maybe it [TS]

00:36:53   takes this long to get rid of the [TS]

00:36:55   inventory at the rate that they sell [TS]

00:36:56   like maybe they have a lot of wonderful [TS]

00:36:58   displays hanging around and they did the [TS]

00:36:59   math and said if we want these flushed [TS]

00:37:02   out of the inventory about time we [TS]

00:37:03   introduce the 5k external display we [TS]

00:37:04   need to just continue it now and just [TS]

00:37:06   let them sell out the rest of them it [TS]

00:37:08   would also help by the way Apple if you [TS]

00:37:09   lower the price because that's a way [TS]

00:37:10   that you can sell things faster break [TS]

00:37:12   i mean i-i think it's more likely that [TS]

00:37:14   like you know that the rumors were all [TS]

00:37:17   really clear and the timing makes a lot [TS]

00:37:19   of sense that like the the new skylight [TS]

00:37:22   based macbook pros were supposed to be [TS]

00:37:24   out by now and I see that they were [TS]

00:37:26   probably delayed because of various [TS]

00:37:28   Intel issues like you like it if you [TS]

00:37:30   heard like it every time you mention [TS]

00:37:32   skylight and laptops we [TS]

00:37:33   usually hear from people who tell us [TS]

00:37:34   that like the that sky like ships that [TS]

00:37:38   were there would be appropriate for the [TS]

00:37:39   15-inch were kind of out in the pc world [TS]

00:37:41   and they actually had tons of problems [TS]

00:37:43   and like that they were it seemed like [TS]

00:37:45   intimate like partly may be recalled [TS]

00:37:47   them or something that was there were [TS]

00:37:49   some problems with them that that that [TS]

00:37:51   the manufacturer having even after it [TS]

00:37:53   shipped so it seems like there's some [TS]

00:37:54   kind of unexpected Intel delay that [TS]

00:37:56   caused the macbook pros to most likely [TS]

00:37:58   be delayed so it seems like if Apple's [TS]

00:38:00   gonna release a new 5k display would [TS]

00:38:02   need sky like most likely to drive it so [TS]

00:38:05   that they were probably planning on [TS]

00:38:06   releasing the 5k external display that [TS]

00:38:09   succeeded this thunderbolt display at [TS]

00:38:11   the same time as new macbook pros that [TS]

00:38:13   we're all supposed to already be out by [TS]

00:38:14   now so chances are they'd probably like [TS]

00:38:17   you know gave the gave the order months [TS]

00:38:20   ago to like stop taking these component [TS]

00:38:22   orders stop making these things you know [TS]

00:38:24   stop manufacturing these and then this [TS]

00:38:26   delay happened sometime in the meantime [TS]

00:38:28   this was probably just like the [TS]

00:38:30   replacement product was supposed to be [TS]

00:38:32   out by now and it might be done but [TS]

00:38:34   there's no computer that can drive it [TS]

00:38:35   yet so they're not going to release a [TS]

00:38:37   display with no computer that can drive [TS]

00:38:39   it so they kind of held the display for [TS]

00:38:42   the macbook pro which got delayed so now [TS]

00:38:45   they just have well we already told the [TS]

00:38:47   manufacturing line to stop making these [TS]

00:38:49   and we're not gonna start back up again [TS]

00:38:51   because that's crazy so I'm guessing [TS]

00:38:54   words it is weird hole in the middle of [TS]

00:38:56   this like you know this visit these [TS]

00:38:58   weird delays caused this this operations [TS]

00:39:01   whole to happen and it will make sense [TS]

00:39:03   in a few months or whatever you know [TS]

00:39:04   whenever the numerical approach come out [TS]

00:39:05   and by the way i think the reason [TS]

00:39:07   they're gonna make this product i was [TS]

00:39:08   like maybe they're not gonna sell [TS]

00:39:09   external displays the reason I make it [TS]

00:39:11   is because the margins have to be pretty [TS]

00:39:13   darn good [TS]

00:39:13   oh yeah probably to sell it for the same [TS]

00:39:15   but you know for the same kind of margin [TS]

00:39:16   thunderbolt display like that was a [TS]

00:39:18   thousand-dollar monitor and age when you [TS]

00:39:20   could get monitors with sometimes [TS]

00:39:22   monitor the exact same panel in them for [TS]

00:39:24   less money if you knew the right to know [TS]

00:39:26   the right weirdly number del thing or [TS]

00:39:27   whatever to buy like a good healthy [TS]

00:39:30   margins on those and apple sells mostly [TS]

00:39:32   laptops for people who by Max and people [TS]

00:39:35   with laptops often want a really big [TS]

00:39:38   external display like that they don't [TS]

00:39:39   want an external display that's like [TS]

00:39:40   seventeen inches but if people want [TS]

00:39:42   external display they want a really big [TS]

00:39:44   one and so Apple should sell you really [TS]

00:39:45   big [TS]

00:39:46   because it's you know the same reason [TS]

00:39:47   cell battery cases for granted a lot of [TS]

00:39:49   there's this is a product that people [TS]

00:39:50   want and we can sell it at high margin [TS]

00:39:52   and they can look nice and Johnny iphone [TS]

00:39:54   won't be upset by someone connecting a [TS]

00:39:57   disgusting looking dell monitor to their [TS]

00:39:59   beautiful macbook pro like all signs [TS]

00:40:01   point towards Apple continuing to sell [TS]

00:40:03   one really big really expensive [TS]

00:40:04   high-margin external monitor and all [TS]

00:40:07   signs point to me buying one once i can [TS]

00:40:09   hook it up to a computer [TS]

00:40:12   we also sponsor this week by hover we go [TS]

00:40:15   to hover com and use promo code a PFS at [TS]

00:40:18   checkout nice n % off your friend is [TS]

00:40:21   perfect timing for ten percent report [TS]

00:40:22   your first purchase hover is the great [TS]

00:40:24   is a great place to buy domain names so [TS]

00:40:26   when you have a great idea for your [TS]

00:40:27   project or blog or startup whatever you [TS]

00:40:30   get a great domain name and find that [TS]

00:40:32   name is very very easy with hover and of [TS]

00:40:34   course to make it very easy to them by [TS]

00:40:35   it and manage it and i use her for tons [TS]

00:40:38   of my domains and it's great they have [TS]

00:40:39   over 400 remaining extensions to end [TS]

00:40:41   your domain with you know all the [TS]

00:40:43   classics like calm dotnet some of the [TS]

00:40:45   new you know new kind of narrow ones [TS]

00:40:47   like design and tech and some of the [TS]

00:40:49   weird kind of jokey ones like that pizza [TS]

00:40:51   and dot ninja now [TS]

00:40:53   new this week they just launched dot [TS]

00:40:55   store and this is one of the rare [TS]

00:40:57   occasions where there's a name that is [TS]

00:41:00   straightforward it's not goofy or [TS]

00:41:02   amateurish like that ninja and pizza you [TS]

00:41:04   can build a real business on something [TS]

00:41:06   that ends in dot store this is like this [TS]

00:41:08   is what a very rare occasion where like [TS]

00:41:10   brand-new real estate has opened up that [TS]

00:41:12   ends in a domain extension that is not [TS]

00:41:14   dumb [TS]

00:41:14   its okay its wide-open that just opened [TS]

00:41:17   up so go to hover com go get a dot store [TS]

00:41:21   name and you have a very very good [TS]

00:41:23   chance now because it's brand-new of [TS]

00:41:24   getting a really good one as to whether [TS]

00:41:26   it's not store any other 400 extensions [TS]

00:41:28   out there you can find a perfect domain [TS]

00:41:30   name for your idea and hover go to hover [TS]

00:41:33   com and use promo code a PFS at checkout [TS]

00:41:36   book stands for i believe Apple platform [TS]

00:41:38   filesystem a PFS check out to save ten [TS]

00:41:41   percent off your first purchase thanks [TS]

00:41:42   to hover for sponsoring our show [TS]

00:41:45   John tell us about Apple file system [TS]

00:41:50   where you get need the platform part [TS]

00:41:52   from Apple platform filesystem somebody [TS]

00:41:55   said that I thought I'd heard that as [TS]

00:41:56   well a lot of people said a lot of [TS]

00:41:58   things when like is that from official i [TS]

00:41:59   have not been officially I think it's [TS]

00:42:01   just for Apple anyway there's a WMD [TS]

00:42:03   session that is entirely open to the [TS]

00:42:05   public section 701 we will put a link in [TS]

00:42:07   the show notes that if you're interested [TS]

00:42:08   in apple fastest and you can watch this [TS]

00:42:10   presentation at the time we recorded the [TS]

00:42:13   wrec episode we had not seen this [TS]

00:42:15   presentation yet because it was two days [TS]

00:42:17   in the future and there wasn't much new [TS]

00:42:19   information in that thing that wasn't [TS]

00:42:21   already in the state unit but there were [TS]

00:42:23   two tidbits worth discussing one is [TS]

00:42:27   right so a PFS as we saw in the state of [TS]

00:42:29   union is is like it will be a developer [TS]

00:42:32   preview i think a lot of people are [TS]

00:42:33   confused by that like okay everything's [TS]

00:42:35   developer preview right but now when [TS]

00:42:37   Sierra ships for real like the final [TS]

00:42:39   version of ships to customers a PFS will [TS]

00:42:41   be included in Sierra as a developer [TS]

00:42:44   preview as and you will get the official [TS]

00:42:45   release version of Sierra and part of it [TS]

00:42:48   of that product will be provisional [TS]

00:42:51   developer level support for a PFS so [TS]

00:42:53   what does that mean for you know our how [TS]

00:42:56   far in the future is a PFS as they said [TS]

00:42:58   in the State of the Union a PFS is [TS]

00:42:59   developer preview this year and coming [TS]

00:43:01   in 2017 but what does that even mean [TS]

00:43:03   i slide in Section 701 have these words [TS]

00:43:06   on it and we'll see how this rolls out a [TS]

00:43:09   PFS will be the default file system for [TS]

00:43:11   all apple products in 2017 so that is [TS]

00:43:15   pretty unequivocal except for the part [TS]

00:43:17   where it says 2017 so default fastest [TS]

00:43:19   and profitable product means if you buy [TS]

00:43:21   an Apple product in you know after [TS]

00:43:23   whatever this point is it will be [TS]

00:43:26   formatted with ntfs that includes all [TS]

00:43:28   iphones all ipads allmax everything like [TS]

00:43:31   that's the implication of the statement [TS]

00:43:32   in 2017 could mean anything could be in [TS]

00:43:35   January for starting january first 2017 [TS]

00:43:37   it could mean starting to summer 31st [TS]

00:43:38   2017 there's a big range and when this [TS]

00:43:41   could happen but it is a player pretty [TS]

00:43:44   clear statement of intent and a publicly [TS]

00:43:47   available video from official apple [TS]

00:43:48   spokespeople that their goal is 20 17 [TS]

00:43:51   not just that though you'll be able to [TS]

00:43:53   format is a PFS for the default will [TS]

00:43:55   still be hfs+ are only on Mac [TS]

00:43:57   or whatever nope every single product [TS]

00:43:58   every single device that has a file [TS]

00:44:00   system across the entire product range [TS]

00:44:01   at some point this is their goal anyway [TS]

00:44:04   we'll see if they made it so that seemed [TS]

00:44:06   to me like an ambitious goal but I'm [TS]

00:44:08   also kind of excited about it because of [TS]

00:44:09   a little 2017 is the year the filesystem [TS]

00:44:11   and I hope they take their time because [TS]

00:44:15   that's a little bit i'm a little bit [TS]

00:44:17   scared for them like that means like [TS]

00:44:19   when the next iPhone comes out or [TS]

00:44:21   whatever the 2017 iphone all those [TS]

00:44:24   millions and millions of iphones all [TS]

00:44:25   going to be picked formatted with ntfs i [TS]

00:44:28   really hope that goes well you know or I [TS]

00:44:31   suppose they could say okay well again [TS]

00:44:33   if they go December 31st 2017 then next [TS]

00:44:35   year's iphone will ship with hfs+ and [TS]

00:44:37   then December 31st sergeant all the [TS]

00:44:39   products will be former that way so in [TS]

00:44:43   case anyone at Apple anyone who knows [TS]

00:44:46   any of the Apple filesystem people is [TS]

00:44:48   listening right now consider that John [TS]

00:44:51   syracuse your friend of mine has been [TS]

00:44:53   asking for a new file system for years [TS]

00:44:54   has been begging for a new file system [TS]

00:44:57   and as he just said you guys you know [TS]

00:45:00   Apple is said in 2017 i would just like [TS]

00:45:03   to point out that John Sarah's key stop [TS]

00:45:06   John circus birthday happens to be the [TS]

00:45:09   very last day of 2017 if you just [TS]

00:45:12   decided but you know maybe maybe that [TS]

00:45:14   would be the appropriate day to flip the [TS]

00:45:16   switch and hit the big red button that [TS]

00:45:18   would be a pretty solid birthday present [TS]

00:45:19   a much better present I've ever gotten [TS]

00:45:20   John just throwing it out there guys you [TS]

00:45:22   run with it [TS]

00:45:23   yeah I think they're gonna go before [TS]

00:45:26   that and my impression is that this date [TS]

00:45:29   even though it seems ambitious to us is [TS]

00:45:31   not really that ambitious from the [TS]

00:45:33   perspective of Apple who has been [TS]

00:45:34   working on the sauces for a long time [TS]

00:45:36   obviously like they didn't just [TS]

00:45:37   announced that they started working at [TS]

00:45:38   last week right so the impression I get [TS]

00:45:42   from WTC is that 2017 is not rushing it [TS]

00:45:46   and they really got the whole year it's [TS]

00:45:48   like you know it's a relaxing expanse of [TS]

00:45:50   time in which they can plan their roll [TS]

00:45:52   out of this new files and I really hope [TS]

00:45:54   that's true because if so that's exactly [TS]

00:45:55   how you want to do this the second [TS]

00:45:58   tidbit that was in this WC session which [TS]

00:46:00   i'm sure everyone knows by now it's [TS]

00:46:01   about all the Apple news sites is the [TS]

00:46:04   question of if you don't buy a new piece [TS]

00:46:07   of hardware and [TS]

00:46:07   which comes with a PFS that but you have [TS]

00:46:10   an existing piece of hardware [TS]

00:46:12   how do you get a PFS like I can only [TS]

00:46:15   think about the perspective of a Mac [TS]

00:46:17   because i don't imagine they're going to [TS]

00:46:18   let people like a reformat their iphones [TS]

00:46:20   like if you restore your iphone in 2017 [TS]

00:46:23   in the post a PFS world is reformatted [TS]

00:46:25   with a PFS i doubt it but certainly for [TS]

00:46:27   the mac we know this is a [TS]

00:46:29   straightforward situation the way you [TS]

00:46:31   could do it is you backup your entire [TS]

00:46:33   hard drive your race it you reformat it [TS]

00:46:34   is a PFS and you restore your hard drive [TS]

00:46:36   on you can do a time machine go to a [TS]

00:46:38   super-duper is lots of different [TS]

00:46:39   solutions to doing this all those should [TS]

00:46:42   be possible but in the 701 presentation [TS]

00:46:44   wdc apple said that I have something [TS]

00:46:46   else in mind and that is in place [TS]

00:46:48   conversion of your volume format from [TS]

00:46:51   hfs+ to a PFS so you've got a mac this [TS]

00:46:55   file system comes out in 2017 it's [TS]

00:46:56   officially released all the new hardware [TS]

00:46:58   you by comes with that you're like I [TS]

00:46:59   want to try the new files and what do i [TS]

00:47:01   do well first of all i would advise you [TS]

00:47:03   to make a backup anyway and maybe two [TS]

00:47:05   backups and maybe three backups but you [TS]

00:47:08   won't have to erase your disc you'll be [TS]

00:47:10   able to take your existing disc is [TS]

00:47:12   formatted with hfs+ and do a thing and [TS]

00:47:15   reboot and when it comes back it all [TS]

00:47:18   your data will still be there you won't [TS]

00:47:20   have erased it and it will be in a PFS [TS]

00:47:22   volume and the the concept of this is [TS]

00:47:26   freaking people i think i talked about [TS]

00:47:27   the old al soft plus maker thing that [TS]

00:47:29   would do the same conversion for from HS [TS]

00:47:32   hfs+ in place and it was terrifying [TS]

00:47:34   because it's screwed up in the middle [TS]

00:47:35   you are left with nothing [TS]

00:47:36   this is the situation with ApS is a [TS]

00:47:40   little bit different and you shouldn't [TS]

00:47:42   actually be as terrified as you are [TS]

00:47:45   it actually is it if you've ever seen [TS]

00:47:47   from I don't know what some ATP or maybe [TS]

00:47:50   use hypercritical the btrfs demo of a [TS]

00:47:54   similar type of in place conversion new [TS]

00:47:56   it's the same type of deal because of [TS]

00:47:58   the way this volume format works it's [TS]

00:48:00   actually fairly safe so here's here's [TS]

00:48:03   the process and here's why it will not [TS]

00:48:05   probably destroy your data although [TS]

00:48:07   definitely making backups [TS]

00:48:08   so the first thing is going to do is [TS]

00:48:10   going to unmount your volume so [TS]

00:48:11   obviously you can't be booted from your [TS]

00:48:12   volume to reformat the boot of the [TS]

00:48:14   recovery partition or something like [TS]

00:48:16   that or what [TS]

00:48:16   but everyone sits unmounted no more [TS]

00:48:19   changes are happening to this volume [TS]

00:48:20   you're going to convert so you don't [TS]

00:48:22   have to worry about chasing after some [TS]

00:48:24   other changes that's not gonna happen [TS]

00:48:25   live like the one called filevault [TS]

00:48:27   conversion where you can encrypt ask why [TS]

00:48:29   using which is kind of magical this is [TS]

00:48:30   like unmounted alright next thing is [TS]

00:48:33   it's going to write all the a PFS [TS]

00:48:35   metadata structures all the little [TS]

00:48:36   pointers to wear this file begin where [TS]

00:48:39   is the den how many blocks are in it of [TS]

00:48:41   what is the file call but all the dates [TS]

00:48:43   about the files going to write all that [TS]

00:48:44   metadata to the free space on the HFS [TS]

00:48:47   plus volume so you can only do this [TS]

00:48:48   conversion if you have enough free space [TS]

00:48:49   to fit the metadata I don't know how [TS]

00:48:51   much it's gonna take but you do need [TS]

00:48:52   some free space and hopefully hear it [TS]

00:48:53   just isn't filled to the brim anyway so [TS]

00:48:56   it's writing just to the to the free [TS]

00:48:58   area so at any point during this process [TS]

00:49:00   when it's writing always meditating when [TS]

00:49:01   it's it's reading your hfs+ volume [TS]

00:49:03   finding out where everything is what [TS]

00:49:04   everything is called with all the dates [TS]

00:49:06   are all permissions are all the [TS]

00:49:07   ownership all everything about these [TS]

00:49:08   files all the different for call the [TS]

00:49:10   extended afterwards all that stuff and [TS]

00:49:12   it's writing that metadata doubt in a [TS]

00:49:13   PFS format to the free space if at any [TS]

00:49:16   time something bad happens during this [TS]

00:49:17   like someone yanked the plug in your [TS]

00:49:18   computer your hfs+ volume is fine [TS]

00:49:21   because if you reboot into it it doesn't [TS]

00:49:22   care what's in the free space like this [TS]

00:49:24   garbage in the free space it's free [TS]

00:49:25   space on hfs+ I'm nothing is wrong with [TS]

00:49:27   it is perfectly fine [TS]

00:49:28   this is the majority of the time it [TS]

00:49:30   spends is looking at all your things in [TS]

00:49:32   writing all the metadata for all the [TS]

00:49:34   things on your file system when it's [TS]

00:49:37   finally finished doing that all it needs [TS]

00:49:39   to do is this is one of the critical [TS]

00:49:40   section when things go wrong and the [TS]

00:49:42   critical section should be very very [TS]

00:49:43   short it's basically delete the HFS plus [TS]

00:49:46   superblock update the position type to [TS]

00:49:48   be a PFS put the correct uuid in there [TS]

00:49:51   and you're done [TS]

00:49:51   like you just have to do a switcheroo in [TS]

00:49:53   the front of the whole file systems ok [TS]

00:49:54   now you're not HFS anymore [TS]

00:49:56   now you're a PFS and then you reboot and [TS]

00:49:58   that critical section when something can [TS]

00:50:00   go wrong like they're halfway through i [TS]

00:50:01   bet even that probably is fairly well [TS]

00:50:03   protected because i know i guess once [TS]

00:50:06   you delete the eventual hfs+ abroad kind [TS]

00:50:08   of scared but anyway this is a very [TS]

00:50:10   small window of time and something can [TS]

00:50:11   go wrong all the rest of time during the [TS]

00:50:14   conversion everything is fine and I bet [TS]

00:50:15   you could probably restore the HS plus [TS]

00:50:17   superblock if you were clever enough for [TS]

00:50:19   some recovery program could do that as [TS]

00:50:21   well because again you haven't touched [TS]

00:50:22   any of the actual data your actual files [TS]

00:50:24   have not been modified hfs+ metadata is [TS]

00:50:27   not been modified none of that stuff has [TS]

00:50:29   changed sitting exact [TS]

00:50:30   where it was all you gotta do is change [TS]

00:50:33   sort of that the thing that tells you [TS]

00:50:34   where everything else in the file system [TS]

00:50:35   is the superblock is metadata about the [TS]

00:50:37   whole file system that tells it you know [TS]

00:50:39   how big the file system is and where all [TS]

00:50:40   the other metadata structures aren't all [TS]

00:50:42   that stuff and by the way speaking of [TS]

00:50:44   the apsu idea the thing that tells it [TS]

00:50:46   like what volume type this is one other [TS]

00:50:48   tidbits that was sort of alluded to in [TS]

00:50:50   state of the union and I think in the [TS]

00:50:52   seventh one thing is that if you have an [TS]

00:50:54   aps IPS volume and you try to mount it [TS]

00:50:58   on [TS]

00:50:59   unlike an older Mac operating system [TS]

00:51:01   it'll say this disc is unreadable you [TS]

00:51:02   want to initialize it all that business [TS]

00:51:04   but if you try to do that on El Capitan [TS]

00:51:06   it won't do that [TS]

00:51:07   not because I can't have Secret support [TS]

00:51:08   maybe FS but just because it know it [TS]

00:51:11   recognizes the uuid so won't offer to [TS]

00:51:13   erase it for you and that's I guess to [TS]

00:51:15   try to prevent people from accidentally [TS]

00:51:17   erasing their newly converted disk when [TS]

00:51:19   they don't realize that prompt asking [TS]

00:51:20   them to erase it was actually asking [TS]

00:51:22   them to erase the disc latest converted [TS]

00:51:24   so that's that's kind of clever and [TS]

00:51:26   that's another secret thing you would [TS]

00:51:28   never have known of you you're not going [TS]

00:51:29   to be searching the el capitan binaries [TS]

00:51:31   for a uuid because you never find it [TS]

00:51:33   because it's all nonsense but anyway I [TS]

00:51:36   assume that I will do this in place [TS]

00:51:38   conversion again after making many many [TS]

00:51:40   backups but both in theory and practice [TS]

00:51:43   this conversion method of writing new [TS]

00:51:46   metadata structures to free space [TS]

00:51:47   pointing at the data in where it already [TS]

00:51:50   exists is fairly well-established not [TS]

00:51:52   something crazy that we came up with its [TS]

00:51:54   own and so I'm pretty confident that [TS]

00:51:56   this will actually work and it will seem [TS]

00:51:58   like magic [TS]

00:51:59   that's pretty high praise I am very [TS]

00:52:01   impressed [TS]

00:52:02   why is it have the P in the name [TS]

00:52:06   why not AFS oh yeah so that's a question [TS]

00:52:09   I asked some of the filesystem people [TS]

00:52:12   WBC and it says we speculate like we [TS]

00:52:15   can't use AFS because that's already [TS]

00:52:16   Andrew filesystem and you go through [TS]

00:52:19   every letter in the alphabet a lot of [TS]

00:52:20   them were taken already [TS]

00:52:21   every combination of two letters either [TS]

00:52:23   taken or nonsensical a PFS is not great [TS]

00:52:27   as an acronym but it's probably better [TS]

00:52:29   than AFS it's probably better than ifs [TS]

00:52:31   which i think is also already taken lots [TS]

00:52:34   of cool letters like CFS and XFS are [TS]

00:52:36   already taken my complaint was why isn't [TS]

00:52:39   it a cool name why isn't it like forget [TS]

00:52:40   about the four-letter actor [TS]

00:52:41   I'm gonna give it whatever four-letter [TS]

00:52:42   three or four little letter you know [TS]

00:52:44   abbreviation that you want [TS]

00:52:46   why isn't it have a cool name like I [TS]

00:52:48   don't know like thunder FS swiftor you [TS]

00:52:52   know grand central dispatch or whatever [TS]

00:52:54   like with the trains yeah like you come [TS]

00:52:56   up with a cool marketing name for it and [TS]

00:52:59   the upshot seems to be that file systems [TS]

00:53:03   are not something that most users know [TS]

00:53:05   about certainly on iphones no one knows [TS]

00:53:07   what the file system isn't even imax [TS]

00:53:08   people don't know the only time people [TS]

00:53:11   are likely to encounter is if you're on [TS]

00:53:13   a Mac and you go to disk utility or [TS]

00:53:14   something you're trying to format in [TS]

00:53:15   your disk or like you get info on it is [TS]

00:53:18   can you seem to get info window but [TS]

00:53:19   especially when you format your desk [TS]

00:53:21   says I know how do you want to what [TS]

00:53:22   volume format you want to use for this [TS]

00:53:24   disc and disk utility I think and do a [TS]

00:53:26   bunch of different formats or even you [TS]

00:53:28   know that OS 10 can I was ten whatever [TS]

00:53:30   that operating system is called ya Mac [TS]

00:53:32   OS can mount a lot of the things you [TS]

00:53:34   come out like fat TX pad and like all [TS]

00:53:38   these weird need all the all the weird [TS]

00:53:39   CD file systems and stuff sometimes if [TS]

00:53:42   you present the user with this popup [TS]

00:53:43   menu of like who are you know what [TS]

00:53:46   volume for what you want to make this or [TS]

00:53:47   what going forward is this they don't [TS]

00:53:48   know what all those things mean they [TS]

00:53:49   don't know what hfs+ means they don't [TS]

00:53:51   know what Apple extended journaled [TS]

00:53:52   whatever case they don't know what those [TS]

00:53:54   things being at all so they go the whole [TS]

00:53:57   of a PFS and it's a reasonable goal is [TS]

00:53:59   to put an entry on that list that is [TS]

00:54:01   absolutely clear that that's the one [TS]

00:54:03   that they want and and so if you have a [TS]

00:54:04   pop-up menu and your formatting a disk [TS]

00:54:06   and you don't know what the hell you [TS]

00:54:07   want to pick and you see one called [TS]

00:54:08   apple file system you can pick that one [TS]

00:54:10   was like all right this is an apple I [TS]

00:54:12   see a logo in front of me there's one on [TS]

00:54:14   the corner of the screen [TS]

00:54:15   I guess I want Apple filesystem and you [TS]

00:54:17   know what that'll be the right answer [TS]

00:54:18   you do want Apple filesystem you do not [TS]

00:54:20   want you know Apple extended journaled [TS]

00:54:24   whatever you want Apple file system so [TS]

00:54:26   as boring as it maybe it makes sense [TS]

00:54:29   from a user perspective that a user [TS]

00:54:31   should never have to see this would be [TS]

00:54:32   when they do see if they have no idea [TS]

00:54:34   what all those weird names mean they [TS]

00:54:35   just want to pick them on this Apple [TS]

00:54:36   sauces but don't you think there might [TS]

00:54:38   be like a problem well that one has a [TS]

00:54:39   plus [TS]

00:54:40   this one sounds deluxe like it the more [TS]

00:54:42   words like it sound like that's the [TS]

00:54:44   deluxe cool option i guess maybe I want [TS]

00:54:46   the what it whatever journaling means [TS]

00:54:48   that's like journaling that's the [TS]

00:54:51   presence of the prosumer problem that [TS]

00:54:53   maybe those people you know their own [TS]

00:54:55   worst enemy but regular people are just [TS]

00:54:57   gonna pick the safest one they're not [TS]

00:54:58   gonna say maybe I don't know what [TS]

00:54:59   journal mean but I want to maybe better [TS]

00:55:01   what about extended that's better what [TS]

00:55:02   about exfat I like balances gotta XCX [TS]

00:55:06   and I think they're just gonna pick [TS]

00:55:08   apple blossom anyway it's a boring name [TS]

00:55:11   but it's certainly a straightforward [TS]

00:55:12   name and it is a forward-looking name in [TS]

00:55:15   that Apple feels like yes this is the [TS]

00:55:16   Apple file system now 30 years from now [TS]

00:55:19   on this is old and busted they might [TS]

00:55:21   have a problem because what he called [TS]

00:55:22   the next one but for now Apple file [TS]

00:55:24   system works and because they can't use [TS]

00:55:26   a FS a PFS is the awkward abbreviation [TS]

00:55:30   for Apple filesystem honest question do [TS]

00:55:32   you honestly think that when this file [TS]

00:55:34   system is outdated [TS]

00:55:35   we will still even have the option to [TS]

00:55:38   format our own partitions they look at [TS]

00:55:40   iOS iOS just give us any options you're [TS]

00:55:42   still going to have to read the aps best [TS]

00:55:44   formatted volumes I don't know you the [TS]

00:55:46   question is whether the mac will still [TS]

00:55:48   be around them because you don't have [TS]

00:55:49   you don't see volumes on iPads and apple [TS]

00:55:52   TV or the watch or iPhones so we'll see [TS]

00:55:55   but maybe they're out i mean at this [TS]

00:55:56   point I think we're lucky that we even [TS]

00:55:58   still have disk utility I mean barely [TS]

00:56:00   but i think we get we get all I I'd be [TS]

00:56:04   surprised if if we still have the [TS]

00:56:07   ability to format disk the way we want [TS]

00:56:09   to in front position we want to you know [TS]

00:56:11   in even 10 years [TS]

00:56:13   yeah well it could be if the file system [TS]

00:56:15   continues to to be pushed towards the [TS]

00:56:18   geeky side of things then they're free [TS]

00:56:19   to do whatever they want like sort of [TS]

00:56:20   like it [TS]

00:56:21   grand central dispatch is the marketing [TS]

00:56:23   name but live dispatch is the library [TS]

00:56:25   name on disk it's just a clear [TS]

00:56:27   separation between the names they [TS]

00:56:29   present in the marketing and the actual [TS]

00:56:31   names the programmers know them by so [TS]

00:56:32   may become less important [TS]

00:56:34   finally when it in 30 years when this [TS]

00:56:37   opera windows file system is outdated [TS]

00:56:40   and being replaced by the next file [TS]

00:56:42   system can we get together when you are [TS]

00:56:45   like what 7271 at that point and and do [TS]

00:56:50   a podcast then with with development by [TS]

00:56:52   then I plan to build my kingdom [TS]

00:56:53   patagonia some [TS]

00:56:55   oh they have been they will probably [TS]

00:56:58   have the internet there and microphones [TS]

00:57:00   will probably still exists [TS]

00:57:02   I like throwing yet another reference [TS]

00:57:04   you guys don't get I knew that if anyone [TS]

00:57:06   have to know as a reference but I also [TS]

00:57:07   knew I did not get it [TS]

00:57:09   partial credit yeah I'll take it alright [TS]

00:57:11   do you want to start running through [TS]

00:57:12   some of the features do you want me to [TS]

00:57:14   prompt this how would you like to [TS]

00:57:16   proceed sir on this part i'm going to [TS]

00:57:19   talk a little bit about file names but i [TS]

00:57:20   thought this would be a good opportunity [TS]

00:57:21   to find out how much you guys know about [TS]

00:57:24   unicode not nearly enough i've read the [TS]

00:57:27   God whose at the school ski getting on [TS]

00:57:31   unicode string handling and I and I've [TS]

00:57:33   already forgotten all of it that you [TS]

00:57:35   Marco you come across this at all you [TS]

00:57:37   probably don't because i'm a string [TS]

00:57:38   takes care of it for you and you don't [TS]

00:57:39   even care what the internal [TS]

00:57:40   representation as you know what about in [TS]

00:57:42   PHP land you deal with and stuff when [TS]

00:57:44   you do web things dealing with the [TS]

00:57:45   Unicode and text and everything I know a [TS]

00:57:48   lot about unicode yes [TS]

00:57:49   alright well so this will be new casing [TS]

00:57:52   may be new to some people but I think we [TS]

00:57:53   have to go over a little bit of the [TS]

00:57:55   basics before explain what the deal is [TS]

00:57:57   whatever talk about this in context of a [TS]

00:57:59   PFS because because files have names and [TS]

00:58:01   your directories have names right so [TS]

00:58:03   when you talk about a file path which [TS]

00:58:04   uses and shop and Mac operating system [TS]

00:58:06   whereby cells that entire thing is [TS]

00:58:09   presented as a string and certainly [TS]

00:58:10   filenames represented in strings and you [TS]

00:58:12   would think this is a straightforward [TS]

00:58:13   thing like that nobody thinks about all [TS]

00:58:15   of course like files have names like [TS]

00:58:16   that's fine but names are strings and [TS]

00:58:19   strings are fiendishly complicated and [TS]

00:58:21   actually matters from the perspective of [TS]

00:58:23   the file system because it has to do a [TS]

00:58:25   lot of stuff with strings so the i guess [TS]

00:58:28   the easiest way for people to understand [TS]

00:58:31   this is that unicode is a is a standard [TS]

00:58:35   for defining all the different things [TS]

00:58:38   that go into making a string and things [TS]

00:58:42   in unicode identified by code points [TS]

00:58:44   that have numbers and this the numbers [TS]

00:58:46   go up really high [TS]

00:58:47   alright they start start long up really [TS]

00:58:50   really high guy says lots and lots of [TS]

00:58:51   things that you can put into strings and [TS]

00:58:53   languages in the United States and the [TS]

00:58:57   other thing to understand is that when [TS]

00:58:58   you write something out to disk or [TS]

00:58:59   stored in memory or whatever we tend to [TS]

00:59:01   break things up in two bites and [TS]

00:59:04   we have a day lettering system in [TS]

00:59:06   america and the sort of Western world [TS]

00:59:09   called a ski that defined a very small [TS]

00:59:11   number of numbers that correspond to [TS]

00:59:14   things that can be in a string and it [TS]

00:59:18   each one of them fit into a single bite [TS]

00:59:20   so all you know a through z 1 through [TS]

00:59:23   zero through nine all the punctuation [TS]

00:59:25   characters or whatever they all fit into [TS]

00:59:26   one bites is 255 possible combinations [TS]

00:59:30   and everybody was happy to realize that [TS]

00:59:32   there are other characters and other [TS]

00:59:33   languages they didn't fit right [TS]

00:59:36   so when I came up with unicode they [TS]

00:59:38   tried to be nice and give a ski all the [TS]

00:59:40   same numbers that it always had for [TS]

00:59:42   compatibility reasons but they just keep [TS]

00:59:44   going from there and a certain point you [TS]

00:59:45   get up two numbers unicode code points [TS]

00:59:48   that are way higher than 255 and when it [TS]

00:59:51   comes time for you to write them to disk [TS]

00:59:53   what do you do with those you can't just [TS]

00:59:55   write them out as the big numbers in a [TS]

00:59:56   series of bytes because the first bite [TS]

00:59:58   of the number might look like a cat [TS]

00:59:58   of the number might look like a cat [TS]

01:00:00   put a letter P or something right [TS]

01:00:01   because it's the same you know what i [TS]

01:00:02   mean so they have come up with a series [TS]

01:00:04   of encoding systems where when you got [TS]

01:00:06   this big number that does not fit into a [TS]

01:00:08   single bite and you can't right the way [TS]

01:00:10   you would write that number out of [TS]

01:00:11   sequence of bytes we need some way to [TS]

01:00:13   encode these things one of the ways to [TS]

01:00:15   encode is instead of writing one code [TS]

01:00:18   point every bite right one co point [TS]

01:00:20   every 32 bits you have a huge space for [TS]

01:00:23   each one's your capital letter A instead [TS]

01:00:24   of taking up a single bite takes up what [TS]

01:00:27   is 32 4 bytes it bites [TS]

01:00:29   yeah it bites for but ya gotta go fa x 4 [TS]

01:00:33   i'll get in a second anyway but that [TS]

01:00:37   would be incredibly wasteful because now [TS]

01:00:39   all of a sudden if you're writing [TS]

01:00:40   something an ascii text it would take up [TS]

01:00:42   four times as much room that's not good [TS]

01:00:44   right [TS]

01:00:44   there's also we could do it in 16 can be [TS]

01:00:46   doing 16 well we actually have more [TS]

01:00:49   unicode code points that fit into 16 [TS]

01:00:52   bits but I think for a while maybe they [TS]

01:00:54   all fit in I think I string uses this [TS]

01:00:57   encoding called utf-16 internally [TS]

01:00:59   yeah i believe i believe the very first [TS]

01:01:01   version of unicode what that they did [TS]

01:01:02   all fit in and then you know once we [TS]

01:01:04   started realizing oh there's other parts [TS]

01:01:06   of the world and like ancient scripts [TS]

01:01:08   and different combining things and [TS]

01:01:09   there's all sorts of new stuff now don't [TS]

01:01:11   forget emoji yet that all came later [TS]

01:01:13   yeah but it's important [TS]

01:01:15   yeah that's not great either but it also [TS]

01:01:16   takes a lot of room and the one that's [TS]

01:01:21   been most common use these days is [TS]

01:01:22   called utf-8 which is a pretty clever [TS]

01:01:24   encoding scheme where a ski gets to be [TS]

01:01:27   exactly the way it normally is like so [TS]

01:01:29   you know one bite one bite for each [TS]

01:01:31   character and all the ones that are [TS]

01:01:33   bigger they have these unique sequences [TS]

01:01:35   of multiple bites you can I want you [TS]

01:01:37   know two bites three bites four bytes [TS]

01:01:38   that even up to five bites all these are [TS]

01:01:41   so that all the leading bites are not [TS]

01:01:43   are not mistaken for plain old ascii [TS]

01:01:46   characters or whatever and that's the [TS]

01:01:48   most common encoding use and this is [TS]

01:01:51   relevant because when you create a file [TS]

01:01:53   in first of all people don't want to use [TS]

01:01:55   a file system where you can only create [TS]

01:01:56   problems and is key because that would [TS]

01:01:58   be annoying for people who speak [TS]

01:01:59   languages other than English and even [TS]

01:02:00   annoying for English speakers because he [TS]

01:02:01   had curly quotes and stuff but you need [TS]

01:02:05   to write this you need to have the stuff [TS]

01:02:07   in memory and you needed to write it out [TS]

01:02:08   to disk so you need some sort of [TS]

01:02:10   representation and that's exactly what [TS]

01:02:12   encoding is doing unicode as they take [TS]

01:02:13   these unicode code points these big [TS]

01:02:15   numbers possibly very large numbers and [TS]

01:02:17   write them out in a series of bytes in a [TS]

01:02:19   way according to some standard right the [TS]

01:02:23   additional complication here in unicode [TS]

01:02:26   is that unicode code points [TS]

01:02:27   I've been trying to save this and trying [TS]

01:02:28   to say thing in other words instead of [TS]

01:02:30   saying character or letter because it's [TS]

01:02:33   way more complicated than that so a [TS]

01:02:34   unicode component might be like the [TS]

01:02:36   capital letter A and that's something [TS]

01:02:38   that everyone understands but a unicode [TS]

01:02:40   code point might also be something [TS]

01:02:41   called combining acute accent that when [TS]

01:02:44   this unicode point follows another [TS]

01:02:47   letter [TS]

01:02:47   it combines to make what looks like one [TS]

01:02:50   thing on your screen so if you did the [TS]

01:02:52   lowercase letter e plain old ascii [TS]

01:02:55   lowercase letter e followed by unicode [TS]

01:02:57   code point 301 which by the way is a [TS]

01:02:59   number bigger than 255 called combining [TS]

01:03:02   an acute accent you would get the e with [TS]

01:03:05   little line pointing up into the right [TS]

01:03:06   on top of it the acute accent so you can [TS]

01:03:09   write the word cafe CAF e combining [TS]

01:03:12   acute accent you get the word cafe with [TS]

01:03:15   the e with the little thing over it [TS]

01:03:17   right but you can write that same thing [TS]

01:03:19   cafe CAF and then he was a little thing [TS]

01:03:21   over in a different way you write CAF [TS]

01:03:24   just like a ski and then you can include [TS]

01:03:26   unicode code point e9 that's an index [TS]

01:03:28   latin small letter e with a cute you [TS]

01:03:32   look at another Road you know has two [TS]

01:03:34   ways for you to write something looks [TS]

01:03:35   the same on the page and i'm not sure [TS]

01:03:39   what the original motivation so it's [TS]

01:03:41   probably because you could use combining [TS]

01:03:43   characters and more flexible ways [TS]

01:03:44   including every possible combination but [TS]

01:03:46   sometimes combinations our community to [TS]

01:03:48   include this this comes with this adds [TS]

01:03:50   yet another wrinkle which is you can [TS]

01:03:52   write the same thing in unicode in [TS]

01:03:54   multiple different sequences of code [TS]

01:03:55   points that's a problem for something [TS]

01:03:58   like filesystem it's not a problem for [TS]

01:04:00   like if you're if you're writing a [TS]

01:04:01   report or printing a page or even making [TS]

01:04:03   a webpage but it's a problem for file [TS]

01:04:04   system so we just found something to [TS]

01:04:05   write file names out to disk like to [TS]

01:04:08   store them in the metadata somewhere and [TS]

01:04:11   in general filesystems don't want you to [TS]

01:04:13   be able to have a file with the [TS]

01:04:14   quote-unquote same name in the same [TS]

01:04:16   place ignoring filename extensions which [TS]

01:04:19   just make this mess but if you want to [TS]

01:04:21   make a file called cafe and then you [TS]

01:04:22   want to make another file called cafe [TS]

01:04:24   you wouldn't want them both to [TS]

01:04:25   the existing in the same folder staring [TS]

01:04:27   you in the face like how can these files [TS]

01:04:28   via they both have the same exact name [TS]

01:04:30   but if you were to merely write out the [TS]

01:04:33   encoded bites for this thing whether [TS]

01:04:34   it's utf-32 utf-8 utf-16 whatever [TS]

01:04:37   encoding format awesome chooses if you [TS]

01:04:40   just write them out at like that one [TS]

01:04:42   application could make CAF latin small [TS]

01:04:45   battery with a cute and one application [TS]

01:04:46   can make CFE combining acute accent as [TS]

01:04:49   far as the possum is concerned the [TS]

01:04:51   sequence of bytes of these files is [TS]

01:04:52   different so when it dips them it's an [TS]

01:04:53   open the file with this name i'll just [TS]

01:04:54   make this file but when you open the [TS]

01:04:56   folder you can see two files called cafe [TS]

01:04:58   and that is bad and i haven't even got [TS]

01:05:01   into case sensitivity because you can [TS]

01:05:02   see in case in case sensitivity [TS]

01:05:04   case-insensitive situation they have the [TS]

01:05:06   fastest has the same problem is they're [TS]

01:05:09   already a file with this name yes or no [TS]

01:05:10   and that's where you would factor in [TS]

01:05:13   okay well as their file with this name [TS]

01:05:14   but like the capitalized letters [TS]

01:05:15   lowercase you know ignoring case but [TS]

01:05:17   ignoring that entirely just for plain [TS]

01:05:19   old case sensitive whatever this [TS]

01:05:21   multiple ways you can write the same [TS]

01:05:23   word and unicode handles that by a [TS]

01:05:25   system that calls for a normalization [TS]

01:05:27   different normalized forms of unicode as [TS]

01:05:30   a bunch of different forms will link to [TS]

01:05:31   them in the show note what basically [TS]

01:05:34   comes down to is should we try to break [TS]

01:05:37   apart every character into its smallest [TS]

01:05:38   possible pieces decompose them you want [TS]

01:05:41   to have the lowercase C and then they'd [TS]

01:05:42   be combining accent or should we pride [TS]

01:05:44   try to compose them all into their [TS]

01:05:47   canonical form by squishing the e with [TS]

01:05:49   the combining accent into the latin [TS]

01:05:50   small letter e with the cute or should [TS]

01:05:52   we do different combinations of them in [TS]

01:05:53   different orders whole bunch of [TS]

01:05:55   different normalized forms the file [TS]

01:05:56   system if it wants to [TS]

01:05:59   well i was gonna say the processing has [TS]

01:06:01   to pick one of these but it doesn't it [TS]

01:06:02   could it could just the you know do what [TS]

01:06:04   I said in the NCAA i will accept [TS]

01:06:06   whatever bites you give me and I have no [TS]

01:06:07   idea what they mean [TS]

01:06:08   now just put them in the file system or [TS]

01:06:10   it could pick one of these normalized [TS]

01:06:12   forms you pick a normalized form then it [TS]

01:06:13   doesn't matter what the application [TS]

01:06:14   gives you it will always be canonicalize [TS]

01:06:17   when it goes to the file system so this [TS]

01:06:19   is what hfs+ does but of course hfs+ [TS]

01:06:21   being a very old tile system does not [TS]

01:06:23   use any of the unicode normalized forms [TS]

01:06:25   it uses a variant of those normalized [TS]

01:06:27   form that has changed in different [TS]

01:06:28   versions of the operating system if you [TS]

01:06:30   look at a tech note 1150 from apple [TS]

01:06:32   which apparently is not no longer online [TS]

01:06:34   so we'll link to like another very [TS]

01:06:36   love it it uses kind of decomposed form [TS]

01:06:40   except for a whole bunch of Rangers that [TS]

01:06:41   it changes to be compatible like the mac [TS]

01:06:43   Greek encoding and it excludes a bunch [TS]

01:06:46   of things that it's really really [TS]

01:06:47   confusing but anyway hfs+ if you try to [TS]

01:06:50   make two files called cafe and I wrote [TS]

01:06:53   of course a little prescrip to test this [TS]

01:06:54   out and you try these two different ways [TS]

01:06:56   to do it [TS]

01:06:57   the with a combining accent and then the [TS]

01:06:58   e with a little hat already combined [TS]

01:07:01   doesn't matter what you write the over [TS]

01:07:03   the age of fossils like oh yeah I [TS]

01:07:05   totally made that file for you but when [TS]

01:07:06   you read that file back in and look at [TS]

01:07:08   the file name it will have changed it to [TS]

01:07:11   the the normalized form the HFS plus 1 [TS]

01:07:14   so you will not make two separate files [TS]

01:07:16   if you try to make one file with that 11 [TS]

01:07:17   name one follows the other name you will [TS]

01:07:19   just override the same file twice you [TS]

01:07:21   that like hfs+ does not take your [TS]

01:07:24   filename for what it is it does [TS]

01:07:26   something to eat first or rather the [TS]

01:07:28   driver for us plus those to be compliant [TS]

01:07:29   with the filesystem right this is one of [TS]

01:07:31   the reasons that a lot of units marriage [TS]

01:07:33   stuff and i think last torvalds had a [TS]

01:07:34   big rant about it but I couldn't find on [TS]

01:07:36   the internet have complained about hfs+ [TS]

01:07:38   I gave you the file name is it supposed [TS]

01:07:40   to be this and you said no i totally [TS]

01:07:42   made that file for you and then later [TS]

01:07:44   when i try to read that final look at [TS]

01:07:46   its name it's not what I told you [TS]

01:07:48   and that's bad for things like get or [TS]

01:07:50   you know linux for that matter other [TS]

01:07:51   things the old files they don't expect [TS]

01:07:53   that to happen that the the sort of [TS]

01:07:54   unique style approaches here's a [TS]

01:07:56   sequence of bytes that makes up this [TS]

01:07:57   files named make that file and then [TS]

01:08:01   later when i read that file I'm going to [TS]

01:08:03   look at its name and better be that and [TS]

01:08:05   a better look it up with that name and [TS]

01:08:06   the name that comes on the disk better [TS]

01:08:08   with the bites i gave you and your dog [TS]

01:08:09   doesn't your father is broken but as I [TS]

01:08:12   hopefully explain if you do that it's [TS]

01:08:14   very easy for applications to make names [TS]

01:08:17   that look exactly the same in the user [TS]

01:08:19   interface cafe & cafe like they're [TS]

01:08:21   indistinguishable they're exactly the [TS]

01:08:23   same pixel for pixel because you can't [TS]

01:08:25   see the bites that make up the unicode [TS]

01:08:27   string you shouldn't care about them and [TS]

01:08:28   to users to be able to make the same [TS]

01:08:30   file with the same name with apparently [TS]

01:08:32   the same name that seems like a bug [TS]

01:08:33   seems like something should happen which [TS]

01:08:35   cafe file is the one that I want they [TS]

01:08:36   both have the same name I don't know [TS]

01:08:38   so you can't do that and that's why [TS]

01:08:40   apple doesn't do that a PFS now has to [TS]

01:08:44   make some decisions about this [TS]

01:08:45   what should a PFS do filename should do [TS]

01:08:47   it the HFS plus way exactly [TS]

01:08:49   but not because that's got years and [TS]

01:08:51   years of baggage floating around in it [TS]

01:08:52   from the fact that existed before [TS]

01:08:54   unicode I think you're leaving or maybe [TS]

01:08:56   just came out when you recover was very [TS]

01:08:57   young I think hfs+ hsps unicode but not [TS]

01:09:00   hfs+ anyway doing what a dress plus does [TS]

01:09:04   would be best for compatibility but it [TS]

01:09:06   would also be slightly crazy i don't [TS]

01:09:07   think Apple wants to maintain their [TS]

01:09:10   weird mapping tables forever with their [TS]

01:09:13   different uh you know non-standard [TS]

01:09:15   normalize forms should it do what many [TS]

01:09:19   linux file systems do many other [TS]

01:09:20   processes do which is I take no position [TS]

01:09:22   on file names that's not my concern you [TS]

01:09:25   gave me a sequence of bytes and that's [TS]

01:09:26   the file name i will write that out of [TS]

01:09:27   the filesystem later when you read it [TS]

01:09:29   you will get back that sequence of bytes [TS]

01:09:30   I don't know what sequence of bytes [TS]

01:09:31   means could mean anything i have no idea [TS]

01:09:33   what that stuff is but anyway here's [TS]

01:09:34   what you said [TS]

01:09:36   my understanding is that that's what a [TS]

01:09:37   PFS does today so if you run my little [TS]

01:09:39   prescription a PFS you can make two [TS]

01:09:42   files that apparently are both named [TS]

01:09:44   cafe but they're actually different [TS]

01:09:46   sequences of bytes because one uses the [TS]

01:09:48   combining acute accent the other one [TS]

01:09:49   uses the eve with a little accident he [TS]

01:09:51   composed on it and by the way i think i [TS]

01:09:54   think it might be no anyway when you if [TS]

01:09:57   you were to do this when i did in perl i [TS]

01:09:59   had to choose how to encode the filename [TS]

01:10:01   and I chose utf-8 I think you can't the [TS]

01:10:05   the API well i'm using / also has [TS]

01:10:07   different rules about that but the [TS]

01:10:09   bottom line is when you [TS]

01:10:10   somebody has to pick the bite [TS]

01:10:11   representation all right you can't give [TS]

01:10:13   it a sequence of bytes for your string [TS]

01:10:15   and use unicode code pointy nine or [TS]

01:10:18   unicode code point 301 because they [TS]

01:10:19   don't fit in a bite so you have to [TS]

01:10:20   figure out a way to put them in a bite [TS]

01:10:21   and that's what unicode encoding czar [TS]

01:10:23   and so I picked utf-8 if I'd given at [TS]

01:10:25   utf-16 i'm assuming you have stored [TS]

01:10:27   utf-16 and give me back utf-16 and so on [TS]

01:10:30   for all the other different coding think [TS]

01:10:31   so far as i can tell a PFS is a bag of [TS]

01:10:34   bytes that means its case sensitive [TS]

01:10:35   because bag of bytes means you gave me [TS]

01:10:37   these bites here these bites and so [TS]

01:10:39   another file comes along and wants to [TS]

01:10:40   write cafe with a lowercase C instead of [TS]

01:10:42   a capital C 2 different sequence of [TS]

01:10:44   bytes file system says no profile that [TS]

01:10:46   name here you go [TS]

01:10:47   I think this will i don't know i don't [TS]

01:10:52   think this is the official position [TS]

01:10:53   because ApS is not done [TS]

01:10:55   you can't even boot from it right now [TS]

01:10:56   it's obviously not finished [TS]

01:10:59   this is going to be looking for in the [TS]

01:11:01   coming mom [TS]

01:11:02   it's and the rest 2017 what will be the [TS]

01:11:05   policy and a PFS will they add case and [TS]

01:11:08   sensitivity once you decide that case [TS]

01:11:10   insensitivity you have to make some [TS]

01:11:11   decisions at the very least you have to [TS]

01:11:13   make decisions about encoding because [TS]

01:11:15   you can't compare case into things like [TS]

01:11:17   someone writes 15 min utf-16 and one [TS]

01:11:19   following utf-8 something in the in the [TS]

01:11:22   system has to understand that you can't [TS]

01:11:25   do complete comparisons with strings [TS]

01:11:27   encoded in different ways or maybe you [TS]

01:11:29   just straightforwardly compared as if I [TS]

01:11:31   know it doesn't make sense it makes [TS]

01:11:32   comparisons you have to have an [TS]

01:11:34   awareness of the encode right so if they [TS]

01:11:36   ever want to make a case insensitive [TS]

01:11:37   version of a PFS they need to decide [TS]

01:11:41   here's how file names are encoded and [TS]

01:11:43   then beyond that they have to make a [TS]

01:11:45   decision about normalization do we do [TS]

01:11:47   normalization at all if you don't do [TS]

01:11:49   normalization you can get into these [TS]

01:11:50   weird situations where you have files [TS]

01:11:52   with apparently the same name you could [TS]

01:11:54   handle this all at the framework level [TS]

01:11:56   and little cocoa and all and you know [TS]

01:11:58   whatever higher-level framework you like [TS]

01:12:00   it so on and so forth [TS]

01:12:03   I don't know if that's something that [TS]

01:12:05   will do and it's not i think this is not [TS]

01:12:07   a minor decision because what you decide [TS]

01:12:10   to do here has implications that ripple [TS]

01:12:12   down through history as we saw with the [TS]

01:12:14   HFS plus 1 after you make his decision [TS]

01:12:15   it's not easy to change it i suppose you [TS]

01:12:19   could go with case-sensitive now a new [TS]

01:12:20   case insensitive later but kinda like [TS]

01:12:23   the opposite of what HFS did going with [TS]

01:12:24   case-insensitive from the beginning and [TS]

01:12:26   making a sensitive variant but anyway [TS]

01:12:28   this I think is one of to me the most [TS]

01:12:30   important decisions that has not yet [TS]

01:12:32   been made for a PFS and I since it will [TS]

01:12:36   probably happen before next year's wrec [TS]

01:12:38   the only way we'll be able to tell [TS]

01:12:39   whether it's made is looking at the a [TS]

01:12:42   PFS documentation online and continuing [TS]

01:12:44   to run tiny test programs from languages [TS]

01:12:46   other than apples frameworks to see what [TS]

01:12:48   does the file system except I don't know [TS]

01:12:51   what the rights that this position I [TS]

01:12:52   don't have a particular position here [TS]

01:12:53   only I just want them to make a decision [TS]

01:12:55   and for it to be a reasonable one and [TS]

01:12:59   that's what I was about to ask is that [TS]

01:13:00   you don't necessarily have a preference [TS]

01:13:04   between normalised and not normalized [TS]

01:13:06   you just want to see that there is a a [TS]

01:13:09   declared statement as to how it's going [TS]

01:13:11   to work [TS]

01:13:12   yeah and like a philosophical some sort [TS]

01:13:15   of philosophical statement of support [TS]

01:13:16   because in many respects making the file [TS]

01:13:19   system itself just be bag of bytes which [TS]

01:13:21   is you gave me by store them is very [TS]

01:13:23   straightforward is the easiest to test [TS]

01:13:25   it is the simplest it's the fastest you [TS]

01:13:29   can do really fast comparisons with it [TS]

01:13:31   it's everything you want from a [TS]

01:13:33   performance perspective of all if you [TS]

01:13:35   were like say on the filesystem team and [TS]

01:13:36   you want to make it really fast file [TS]

01:13:37   system but from a user's perspective it [TS]

01:13:39   doesn't doesn't solve your problems it [TS]

01:13:41   doesn't solve user problems that hfs+ [TS]

01:13:44   does i don't know if you can solve it [TS]

01:13:47   all at the framework level I'm have to [TS]

01:13:50   think that you can't really at the [TS]

01:13:51   framework level entirely because i don't [TS]

01:13:55   like there's so many different ways in [TS]

01:13:56   so many different programs that can [TS]

01:13:58   write files to disc and not all of them [TS]

01:14:01   go through your frameworks alright I in [TS]

01:14:04   its it's madness to have fought some [TS]

01:14:07   filenames utf-16 some vile names utf8 [TS]

01:14:09   some normalized some did normalize some [TS]

01:14:12   weird mix I that seems untenable to me [TS]

01:14:15   from just the basic perspective of how [TS]

01:14:17   do i correctly check whether a file [TS]

01:14:18   exists the filename blah how do i check [TS]

01:14:21   whether that exists it's like well how [TS]

01:14:23   many different ways can you write this [TS]

01:14:24   kit you know the only way i can check [TS]

01:14:27   with this because the processing knows [TS]

01:14:28   nothing about encoding I say hey process [TS]

01:14:29   and you have a filename cafe and the [TS]

01:14:32   process was like all right well what [TS]

01:14:33   sequence of bytes you want me to check [TS]

01:14:34   for nope I don't have one that sequence [TS]

01:14:36   of bytes maybe think is there another [TS]

01:14:38   way that I cafe get right in utf-32 with [TS]

01:14:41   a combining accent you have this [TS]

01:14:43   sequence of bytes the files inside nope [TS]

01:14:44   don't have that sequence of bytes in the [TS]

01:14:45   applications like hmm maybe didn't [TS]

01:14:47   utf-16 with latin small letter with a [TS]

01:14:49   cute on it like that that's untenable [TS]

01:14:51   right and so as scary as it is for the [TS]

01:14:53   file system to make decisions about this [TS]

01:14:55   because they're just they're very [TS]

01:14:57   difficult to to change after the fact if [TS]

01:14:59   it doesn't then every file system API [TS]

01:15:01   needs to either be incredibly thorough [TS]

01:15:04   or put make it so that you can [TS]

01:15:07   potentially create files with apparently [TS]

01:15:09   the same name from the users perspective [TS]

01:15:10   and I think that's not healthy either so [TS]

01:15:12   I don't know it could be that we don't [TS]

01:15:14   care about any guys except for the cocoa [TS]

01:15:16   ones we don't care what people going [TS]

01:15:17   straight through the capi is running [TS]

01:15:19   python scripts or whatever we're doing [TS]

01:15:20   all we care about is that is the things [TS]

01:15:22   that go through [TS]

01:15:24   get and UI kit and then you could have a [TS]

01:15:26   bag of bytes [TS]

01:15:27   I don't know but but I i can hear [TS]

01:15:30   arguments on either side of it but the [TS]

01:15:32   fact that nothing has been said so far [TS]

01:15:33   in the fact that it just does Bagga [TS]

01:15:35   bites now doesn't really tell me [TS]

01:15:36   anything about that was essentially [TS]

01:15:38   position just tells me they didn't get [TS]

01:15:39   to that part yet because i think if they [TS]

01:15:41   if they had got to it would have been in [TS]

01:15:43   that presentation like the presentations [TS]

01:15:44   for developers to say [TS]

01:15:46   test your application on a PFS they did [TS]

01:15:48   tell them the tested based on the case [TS]

01:15:50   sensitive every part and that makes some [TS]

01:15:52   sense because that Apple has shipped the [TS]

01:15:53   case sensitive file system for a long [TS]

01:15:54   time and a lot of applications break [TS]

01:15:57   okay sensitive also seems like Adobe's [TS]

01:15:58   applications and Microsoft applications [TS]

01:16:01   all apps that were created in the days [TS]

01:16:02   before the mac even have a [TS]

01:16:04   case-sensitive filesystem many of them [TS]

01:16:06   believe not attempt to open files or [TS]

01:16:08   libraries and stuff by file paths that [TS]

01:16:10   do not match the case of the actual [TS]

01:16:12   files on disk you would think those have [TS]

01:16:14   bugs that woman takes long ago but the [TS]

01:16:16   bottom line is mac users don't run [TS]

01:16:18   case-sensitive file systems for the most [TS]

01:16:19   part i always luckily has always had [TS]

01:16:21   case-sensitive file systems but anyway [TS]

01:16:22   case-sensitive is separate from whether [TS]

01:16:25   things are normalized so I think if [TS]

01:16:29   Apple was committed to bag of bytes file [TS]

01:16:31   naming they would have maybe mention [TS]

01:16:33   that in the file system session but i'm [TS]

01:16:35   not sure [TS]

01:16:36   anyway it's it's a thing I think about a [TS]

01:16:38   lot and I have concerns our final [TS]

01:16:41   sponsor this week is backblaze back [TS]

01:16:43   places unlimited native online backup [TS]

01:16:46   for mac and pc go to backpage.com / ATP [TS]

01:16:50   for a no credit card required no [TS]

01:16:52   risk-free 15-day trial now back plz is [TS]

01:16:56   the best online backup that isn't in the [TS]

01:16:58   script I don't know if they can say that [TS]

01:16:59   but I can say that because I've used [TS]

01:17:01   many online backup programs and services [TS]

01:17:03   and back plays is by far the best one [TS]

01:17:07   that's worked out for me and my favorite [TS]

01:17:08   one and i've been using them since long [TS]

01:17:10   before they were a sponsor [TS]

01:17:11   I have the backing up my computer to [TS]

01:17:13   computer even my mom's computer when [TS]

01:17:15   backing up something like six terabytes [TS]

01:17:17   of my data it is so solid it is [TS]

01:17:21   literally never causes a problem for for [TS]

01:17:23   the I don't know [TS]

01:17:24   45 years i've been using them highly [TS]

01:17:27   recommend having online backup [TS]

01:17:28   especially to be playing around with the [TS]

01:17:30   file system on your computer you should [TS]

01:17:33   really have online backup to save your [TS]

01:17:35   butt if you do anything [TS]

01:17:37   good or if your local backups are all [TS]

01:17:39   corrupted by bit rock from hfs+ so check [TS]

01:17:42   out back plays today [TS]

01:17:43   backblaze calm / ATP for that first for [TS]

01:17:46   that risk-free 15 day free trial that [TS]

01:17:49   place is a bunch of other cool features [TS]

01:17:50   too so for instance you can of course [TS]

01:17:52   restore your files on the web you can [TS]

01:17:55   download files as a big zip file you can [TS]

01:17:57   even have them overnight you a hard [TS]

01:17:59   drive with all your data if it's like a [TS]

01:18:00   ton of data and be taken to download and [TS]

01:18:02   if you return the hard drive back there [TS]

01:18:05   within 30 days you get a refund on the [TS]

01:18:07   price of the hard drive was a very [TS]

01:18:08   effective way to restore a ton of data [TS]

01:18:10   at once and not only that on the other [TS]

01:18:12   side if you want to restore one file you [TS]

01:18:15   can do it up in the web interface or [TS]

01:18:17   their iOS or android apps so one great [TS]

01:18:20   use for this is if you're on your phone [TS]

01:18:21   or let's say you're traveling only have [TS]

01:18:23   your laptop or something and you want to [TS]

01:18:25   file from your home computer you can do [TS]

01:18:27   this with back places back plays has all [TS]

01:18:28   your files it's just automatically [TS]

01:18:30   they're running back up everything you [TS]

01:18:31   don't have to think about it looks by [TS]

01:18:33   the way is how backup should work if you [TS]

01:18:35   think about it it's not really a backup [TS]

01:18:36   so exactly you can login to restore one [TS]

01:18:39   file if you look for a file on a trip or [TS]

01:18:40   something like that it is incredibly [TS]

01:18:42   community have done this probably five [TS]

01:18:43   or six times now because it's like it [TS]

01:18:45   it's just it doesn't happen often but [TS]

01:18:47   when it does happen i'm so glad i have [TS]

01:18:49   it and that's kind of the story of [TS]

01:18:51   online backup like you won't usually [TS]

01:18:53   need to use it but you'll be really glad [TS]

01:18:55   you've had it on those few times that [TS]

01:18:57   you do use it just five bucks a month [TS]

01:18:59   for unlimited space under throttled [TS]

01:19:02   speeds per computer so five bucks per [TS]

01:19:04   month per computer it is a great deal [TS]

01:19:07   unlimited space so check it out today go [TS]

01:19:10   to backblaze calm / ATP and our [TS]

01:19:13   listeners get a 15 day free trial [TS]

01:19:14   backpage.com / ATP thanks a lot [TS]

01:19:20   you guys have any opinions on before we [TS]

01:19:23   move not case sensitivity I so if for [TS]

01:19:30   that for the two questions that you've [TS]

01:19:32   basically posed here i think the file [TS]

01:19:35   system should you know on the topic of [TS]

01:19:38   like you know bag of bytes vs at least [TS]

01:19:40   normalizing you normally do some degree [TS]

01:19:42   weather you normalize for like unicode [TS]

01:19:44   normal forms for combining characters [TS]

01:19:46   and things or at least waited almost [TS]

01:19:47   four character encoding I think encoding [TS]

01:19:50   is an obvious when like you should [TS]

01:19:53   absolutely normalize for character [TS]

01:19:55   encoding you know and whatever including [TS]

01:19:57   the pic i I'm less concerned about that [TS]

01:19:59   you know if you pick utf-8 cool you know [TS]

01:20:02   I did whatever whatever including they [TS]

01:20:03   want to pick that's fine but i think it [TS]

01:20:05   is a clear win that the that the [TS]

01:20:08   encoding should be normalized for file [TS]

01:20:10   system access whether or not you know [TS]

01:20:13   normalizing forms of characters and case [TS]

01:20:17   sensitivity I mean that's kind of two [TS]

01:20:19   different degrees of the same kind of [TS]

01:20:20   thing that I i'm less confident on but [TS]

01:20:25   my inclination would be I think the era [TS]

01:20:28   of case in sensitivity is probably over [TS]

01:20:32   but I i would say that if I were [TS]

01:20:35   designing a system and having heard no [TS]

01:20:37   other arguments except for your ear for [TS]

01:20:39   your large amount of them i think the [TS]

01:20:45   cocoa api's should be responsible for [TS]

01:20:48   normalizing normal isn't the name like [TS]

01:20:51   you know case and and combining [TS]

01:20:53   characters why's that the low-level capi [TS]

01:20:56   eyes and and like that the the raw [TS]

01:20:58   interface with the file system should [TS]

01:21:00   not perform that kind of like messing [TS]

01:21:02   with characters for the filesystem throw [TS]

01:21:04   a fatal error if the if the encoding is [TS]

01:21:07   incorrect like if you give an invalid [TS]

01:21:09   utf-8 sequence is that just not work or [TS]

01:21:11   should i dutifully write those two discs [TS]

01:21:13   anyway yeah it's like if it doesn't do [TS]

01:21:15   that then you have the same problem [TS]

01:21:16   before like you can write a name and [TS]

01:21:19   then you go to you to read that name and [TS]

01:21:21   it's not there so I can see what i could [TS]

01:21:23   be a problem so maybe yes maybe the [TS]

01:21:25   answer is that if you try to have [TS]

01:21:28   involved you know sequence in the name [TS]

01:21:30   that you give it that maybe it does [TS]

01:21:31   error out [TS]

01:21:31   I don't know all rights because it's [TS]

01:21:34   basically quest [TS]

01:21:34   like suicide a pic utf-8 which is [TS]

01:21:36   actually a bit because that's what [TS]

01:21:37   everyone thinks because all the other [TS]

01:21:38   and coatings are stupid or not it may [TS]

01:21:41   pick that then they could just say oh [TS]

01:21:44   when you write your filename stay BFS [TS]

01:21:47   you should write them in utf-8 and then [TS]

01:21:50   if you don't do it like that's your own [TS]

01:21:52   stupid fault [TS]

01:21:53   in other words that they have it as a [TS]

01:21:54   policy not an implementation and [TS]

01:21:57   enforcement and so then later when some [TS]

01:21:59   other program tries to like in other [TS]

01:22:01   words you wrote it with an invalid utf-8 [TS]

01:22:02   sequence and then later your program [TS]

01:22:04   tried to read it with that same invalid [TS]

01:22:05   utf-8 seconds it would find it right but [TS]

01:22:07   it would be garbage and then any other [TS]

01:22:08   any other API is trying to like compare [TS]

01:22:11   files or whatever would just you know [TS]

01:22:13   fail in weird ways because you have not [TS]

01:22:15   even written a value TFA sequence and [TS]

01:22:17   when it does it would like if you tried [TS]

01:22:18   to say is there a file called cafe it [TS]

01:22:20   would be like nope don't see it because [TS]

01:22:22   you just wrote invalid sequence the [TS]

01:22:23   other one is to have the the file system [TS]

01:22:25   in force at the you know that the driver [TS]

01:22:28   level and in all the various operating [TS]

01:22:29   systems if you pass some file name down [TS]

01:22:32   through the system down through the bsd [TS]

01:22:33   layers at some point we're gonna look [TS]

01:22:35   over your entire sequence and confirm is [TS]

01:22:37   this a valid utf-8 sequence and if it's [TS]

01:22:39   not boom everything blows up forget it [TS]

01:22:41   nothing works or you know whatever and i [TS]

01:22:43   don't know i think checking for that [TS]

01:22:46   checking the that its value tf8 [TS]

01:22:48   shouldn't take long and should be fairly [TS]

01:22:50   straightforward because we're not [TS]

01:22:51   dealing with large drawings with data so [TS]

01:22:53   that's that that's what I think they [TS]

01:22:54   would go with they make that decision [TS]

01:22:55   that will essentially be impossible to [TS]

01:22:57   write an invalid utf-8 sequence to a [TS]

01:23:00   file name which could also break [TS]

01:23:02   applications like everything every [TS]

01:23:03   decision they make aside from make it [TS]

01:23:05   work exactly like hfs+ is gonna break [TS]

01:23:06   applications and make it work exactly [TS]

01:23:08   hfs+ is the one decision that i think is [TS]

01:23:11   entirely wrong [TS]

01:23:12   I mean how can this day and age you [TS]

01:23:14   wouldn't be unreasonable to have like an [TS]

01:23:16   actual intel hardware instruction to [TS]

01:23:18   validate his secrets of utf-8 character [TS]

01:23:21   yeah the rules aren't that complicated [TS]

01:23:23   like no you mean you don't even have you [TS]

01:23:25   don't have to save other where [TS]

01:23:27   corresponds to like a code defined code [TS]

01:23:28   pointing device and you can't and that's [TS]

01:23:30   more difficult to do certainly in [TS]

01:23:32   hardware not just like bit masking yeah [TS]

01:23:34   but anyway I'm I suspect that's probably [TS]

01:23:37   what they'll end up being the case [TS]

01:23:38   sensitivity i think it's still weird [TS]

01:23:40   issue because I think users of use of [TS]

01:23:43   computers even just on iOS where you're [TS]

01:23:46   not really ever pro [TS]

01:23:47   to write file name but certainly on the [TS]

01:23:49   mac having two files called like I don't [TS]

01:23:53   know like you know xmas and then you [TS]

01:23:56   write a file called xmas but you decide [TS]

01:23:57   to capitalize the X and you end up with [TS]

01:23:58   two files and you know you thought your [TS]

01:24:00   writing the previous one I don't know [TS]

01:24:02   they just case insensitivity i think is [TS]

01:24:04   more like how how regular people think [TS]

01:24:06   computer case sensitivity is a [TS]

01:24:08   programmers that computers work for sure [TS]

01:24:09   so I'm sure that it would be very [TS]

01:24:12   popular with programmers but I mean [TS]

01:24:14   maybe not because like i said the fact [TS]

01:24:16   that there are still mac applications [TS]

01:24:17   that only work on case-insensitive file [TS]

01:24:19   systems due to eminently fixable errors [TS]

01:24:24   in their source code it's like that's [TS]

01:24:26   never going to change unless you force [TS]

01:24:27   it to change [TS]

01:24:28   I don't know Casey have opinions yeah [TS]

01:24:30   you know I think that of all the places [TS]

01:24:33   you want to have the Wild West the file [TS]

01:24:35   system is not it and I think that [TS]

01:24:38   forcing an encoding makes sense i agree [TS]

01:24:43   with you [TS]

01:24:44   mostly that that users expect case [TS]

01:24:49   insensitivity but i don't know i think [TS]

01:24:52   what with the internet running on unix [TS]

01:24:54   for the most part in URLs generally [TS]

01:24:56   being case-sensitive I think that people [TS]

01:24:58   are starting to become more comfortable [TS]

01:25:00   with that [TS]

01:25:01   so if i had a vote I would say enforce [TS]

01:25:06   something like utf-8 if you write [TS]

01:25:08   something that's garbage or not utf-8 [TS]

01:25:11   encoded barf all over it and then do so [TS]

01:25:15   violently and I would favor case [TS]

01:25:17   sensitivity by default [TS]

01:25:19   that's my vote I don't think anyone's in [TS]

01:25:21   favor of normalization but like i said [TS]

01:25:23   it you end up a weird situation so I [TS]

01:25:24   would if I was suspected they if they [TS]

01:25:26   don't touch normalization of the file [TS]

01:25:28   system level then they do it all the API [TS]

01:25:30   level but then it's just it's pretty [TS]

01:25:32   easy to make fairly absurd situations [TS]

01:25:35   for life but you could have picked some [TS]

01:25:36   word or phrase that has a huge number of [TS]

01:25:40   possible combinations like in some [TS]

01:25:41   language of the uses accents on its [TS]

01:25:43   characters and just you know that the [TS]

01:25:45   number of possible permutations goes up [TS]

01:25:48   pretty quickly as you had the accented [TS]

01:25:49   characters then you make a folder full [TS]

01:25:50   of literally hundreds of files that all [TS]

01:25:52   appear to have exactly the same name in [TS]

01:25:54   the finder something you can't do hfs+ [TS]

01:25:56   and something that you shouldn't be able [TS]

01:26:00   to do [TS]

01:26:00   but we'll be able to do with the file [TS]

01:26:02   system even if it picking encoding but [TS]

01:26:04   they don't pick a normalization so [TS]

01:26:05   that's why I'm thinking about that's [TS]

01:26:08   because it's not it's not a [TS]

01:26:09   straightforward problem is not an [TS]

01:26:10   obvious answer that will clearly apple [TS]

01:26:11   will do this there is no easy answer [TS]

01:26:13   I never thought we talked this long [TS]

01:26:15   about the detailed implementation of [TS]

01:26:18   dealing with file names in the files as [TS]

01:26:20   well it's more just about unicode even [TS]

01:26:22   though right [TS]

01:26:23   you know you and I both know that having [TS]

01:26:24   dealt with it but i can tell you the [TS]

01:26:26   first five times I that with unicode I [TS]

01:26:28   still didn't understand only have a [TS]

01:26:29   six-time you know like it I if you have [TS]

01:26:32   never heard anything about unicode [TS]

01:26:33   hearing what i just said about all the [TS]

01:26:35   the code points normalization is not [TS]

01:26:37   going to sink in but it's it's weird and [TS]

01:26:39   if you don't know about it and think [TS]

01:26:42   about it when dealing with strings you [TS]

01:26:44   will eventually be sad no I mean dealing [TS]

01:26:46   with unicode in my experience is a lot [TS]

01:26:48   like parenting in that the more you [TS]

01:26:52   explore more experience you get in the [TS]

01:26:55   area the more you realize that you will [TS]

01:26:57   just always be wrong and there are no [TS]

01:26:58   good answers [TS]

01:26:59   Wow well I mean there's one thing is [TS]

01:27:02   just understanding the standards which i [TS]

01:27:03   think is difficult enough and then once [TS]

01:27:04   you understand the standards then you [TS]

01:27:05   realize no matter what I pick up there [TS]

01:27:08   are downsides and then then the real [TS]

01:27:10   said realization is that you realize all [TS]

01:27:12   the play if your program you realize all [TS]

01:27:15   the places in your program or Texas [TS]

01:27:17   coming in without the encoding specified [TS]

01:27:19   you're like I don't I don't even know [TS]

01:27:20   what the right thing to do is what who [TS]

01:27:22   how is this going to be encoded this is [TS]

01:27:24   just bites coming across some sort of [TS]

01:27:25   you know reading out of a disk file on [TS]

01:27:28   disk are coming across the network and [TS]

01:27:30   then you end up like dribbling out words [TS]

01:27:31   and asking all of your input sources hey [TS]

01:27:33   can you tell me what encoding using and [TS]

01:27:35   they say encoding what I didn't realize [TS]

01:27:37   you basically have an intractable [TS]

01:27:39   problem where it especially we are [TS]

01:27:40   accepting input from the wider world [TS]

01:27:42   that it doesn't come tagged along with [TS]

01:27:45   what encoding it is and you don't know [TS]

01:27:47   how to make sense of unless you know the [TS]

01:27:48   encoding so you kind of have to you can [TS]

01:27:49   detect the encoding through a bunch of [TS]

01:27:51   heuristics or i can guess or i can try [TS]

01:27:53   to enforce downstream that you should [TS]

01:27:54   only give it to me in this encoding and [TS]

01:27:55   then you find out how many people are [TS]

01:27:57   actually sending you things that don't [TS]

01:27:59   conform or all of a sudden you get a [TS]

01:28:00   bunch of utf-16 or shift just and you [TS]

01:28:03   have this terrible text terrible we [TS]

01:28:05   should communicate through a series of [TS]

01:28:07   ones and zeros it'd be much easier [TS]

01:28:10   wow I've never I've never heard shift [TS]

01:28:14   just discussing a podcast i don't think [TS]

01:28:16   i ever will again [TS]

01:28:17   oh yeah but my first big normalization [TS]

01:28:19   project was like what i would have [TS]

01:28:21   killed for utf-8 i think that's that's a [TS]

01:28:24   bet it was it before unicode thanks for [TS]

01:28:26   worse let's just put it that way [TS]

01:28:27   yeah no I mean it's not like I i'm [TS]

01:28:29   mostly avoided having to deal with these [TS]

01:28:31   issues over time with my various web [TS]

01:28:33   server because like you're right that [TS]

01:28:34   like hidden in native apps you don't [TS]

01:28:37   generally have to deal too much with [TS]

01:28:38   this on the web you deal with all the [TS]

01:28:40   time and the easiest thing on the web is [TS]

01:28:43   to just make all your pages serve utf-8 [TS]

01:28:45   servicer themselves as utf-8 that may [TS]

01:28:48   call browser's default to sending utf-8 [TS]

01:28:50   informs only the modern world will make [TS]

01:28:53   your browser's do that in the old world [TS]

01:28:55   you could do whatever you want with your [TS]

01:28:56   web pages but people in Japan we're [TS]

01:28:58   gonna be sending you things in a [TS]

01:28:59   different encoding and it doesn't matter [TS]

01:29:01   if you put a utf-8 is the you don't like [TS]

01:29:03   that was great when browser just finally [TS]

01:29:05   started to honor the encoding of the [TS]

01:29:06   page [TS]

01:29:07   yeah but that I mean that was most of my [TS]

01:29:09   career has been after that mean like [TS]

01:29:10   when we were building tumblr and 2006 [TS]

01:29:12   that was the case so it's it's been ok [TS]

01:29:14   but and then the only the only time I [TS]

01:29:17   really had to think about unicode on on [TS]

01:29:20   web stuff recently is when emoji came [TS]

01:29:23   around and I had to alter all my mysql [TS]

01:29:25   tables to be the utf-8 mp4 character set [TS]

01:29:29   which is annoying but you know after [TS]

01:29:31   that it was a fine my single made some [TS]

01:29:34   some unicode mistakes that the best part [TS]

01:29:36   of the web and encoding is even coming [TS]

01:29:40   to the case sensitivity is that the old [TS]

01:29:42   URL that we increasingly don't see our [TS]

01:29:44   address bar the hostname part is not [TS]

01:29:46   case-sensitive whatever you think that [TS]

01:29:48   means the encoding for URLs yeah is i [TS]

01:29:51   think it is basically limited to ask you [TS]

01:29:55   but this way you can encode unicode code [TS]

01:29:57   points with the special escape sequence [TS]

01:30:00   II think not in the hostname there is in [TS]

01:30:02   the rest of the URL God knows what's [TS]

01:30:04   going on there in the honey there's a [TS]

01:30:06   special international demand extension [TS]

01:30:08   thing but that has a bunch of security [TS]

01:30:10   problems actually right of course and [TS]

01:30:12   then and then like you said for the rest [TS]

01:30:13   of the URL like it's it's kind of the [TS]

01:30:16   wild west and it's the worst that half [TS]

01:30:17   of the string is case sensitive and half [TS]

01:30:19   of it isn't again whatever the hell you [TS]

01:30:20   think [TS]

01:30:22   urls are still a problem that it in that [TS]

01:30:26   respect the body of your HTML documents [TS]

01:30:28   is is blessedly normalized at this point [TS]

01:30:30   because like you said most modern [TS]

01:30:32   browsers honor the encoding anyway Texas [TS]

01:30:34   hard [TS]

01:30:35   alright well speaking of things that are [TS]

01:30:38   hard [TS]

01:30:39   how about a data integrity yeah when [TS]

01:30:42   touching this last time this is the one [TS]

01:30:44   feature i wanted my BFS that it did not [TS]

01:30:47   deliver and we're speculating about why [TS]

01:30:50   that might be or if it really was the [TS]

01:30:51   case data integrity just the quick [TS]

01:30:54   review is basically the idea that if a [TS]

01:30:57   program writes some data to disk later [TS]

01:31:01   reads the data back the data that [TS]

01:31:03   originally wrote should be the data that [TS]

01:31:04   it gets back and that could be a day [TS]

01:31:08   later a year later ten years later if [TS]

01:31:11   that's not the case because hardware is [TS]

01:31:12   fallible you would like the file system [TS]

01:31:15   to know [TS]

01:31:16   hey you asked for these bites but it [TS]

01:31:19   turns out that since last time since [TS]

01:31:21   they were written they have been screwed [TS]

01:31:23   up so restore from backup or solve this [TS]

01:31:27   problem of ZFS and some other file [TS]

01:31:29   systems have a way to make multiple [TS]

01:31:31   redundant copies of the same data and [TS]

01:31:33   when they detect this area they can fix [TS]

01:31:34   it because they have a good copy bad [TS]

01:31:37   copy that will just ignore the bad copy [TS]

01:31:39   use the good copy and write another copy [TS]

01:31:41   of the good one or whatever all that [TS]

01:31:44   stuff is expensive because it means you [TS]

01:31:45   have to write out check someone's with [TS]

01:31:46   all of your data and you have to sort of [TS]

01:31:48   do end and check some so that everyone [TS]

01:31:50   is sure yet but i'm sending you this and [TS]

01:31:52   here's the checksum yep I got that and [TS]

01:31:53   here's the checksum alright disc making [TS]

01:31:55   sure everything is all good you know [TS]

01:31:56   that's what that's a feature of CFS is [TS]

01:31:59   very important and wonderful feature of [TS]

01:32:01   ZFS but it has a cost associated with it [TS]

01:32:04   both in terms of computation of [TS]

01:32:05   computing always check sums and also [TS]

01:32:07   dependency because you can't really be [TS]

01:32:10   done riding the data until you've also [TS]

01:32:12   made sure all the data was written [TS]

01:32:13   correctly and then also read written the [TS]

01:32:15   check so make sure that you know so [TS]

01:32:16   there's lots of dependencies that are [TS]

01:32:18   inherent in that and mostly I wanted it [TS]

01:32:20   for the the case of bit rod eyes and [TS]

01:32:22   over long periods of time I write out my [TS]

01:32:24   family's photos to disk and make backups [TS]

01:32:27   that disk that I push that up the back [TS]

01:32:29   plays and it's on time machine i'm doing [TS]

01:32:31   super duper clones and if some of those [TS]

01:32:33   bits are flipped because of [TS]

01:32:34   errors in the hardware all i'm doing is [TS]

01:32:36   copying those now corrupted bits over [TS]

01:32:38   and over and over again over the years [TS]

01:32:40   two different backups you know the [TS]

01:32:42   incremental backups don't go on forever [TS]

01:32:43   there's a window of time that you know [TS]

01:32:44   before they'll fit on the disc in the [TS]

01:32:45   same thing with backblaze they don't [TS]

01:32:47   think they keep your back forever and [TS]

01:32:49   ever and ever every different version so [TS]

01:32:52   eventually you will just have be [TS]

01:32:54   propagating the corruption over the [TS]

01:32:55   years until 20 years later we try to [TS]

01:32:57   look at some baby picture your favorite [TS]

01:32:58   baby picture is all messed up and all [TS]

01:33:00   scrambled and JP has a bunch of bits wet [TS]

01:33:02   and you don't know which ones [TS]

01:33:03   that's what I'm trying to protect [TS]

01:33:04   against and a PFS does not provide that [TS]

01:33:08   feature does not have the option to [TS]

01:33:09   write out checks comes with all of its [TS]

01:33:11   file data now a BFS is a flexible [TS]

01:33:14   filesystem intentionally designed to be [TS]

01:33:15   extensible without breaking backwards [TS]

01:33:17   compatibility [TS]

01:33:18   this feature can see would be added in [TS]

01:33:21   the future [TS]

01:33:22   hell it could be added before 2017 they [TS]

01:33:24   got a whole year right but it's not [TS]

01:33:25   there right now and that's a little bit [TS]

01:33:27   disappointing it does right check sums [TS]

01:33:29   for metadata metadata is like here's [TS]

01:33:32   what the files name is here's all the [TS]

01:33:33   dates the ownership the permissions and [TS]

01:33:35   here's where each individual piece of [TS]

01:33:36   this file data is on a disk so you know [TS]

01:33:38   where to go get it keeps saying desk but [TS]

01:33:40   you know that me and it writes checks on [TS]

01:33:43   this for metadata but I mean there's [TS]

01:33:45   good reason to do that mostly because a [TS]

01:33:47   lot of this file system like many others [TS]

01:33:49   tries to doesn't do always consistent on [TS]

01:33:53   disk representation but it comes close [TS]

01:33:55   it it wants to know did I finish this [TS]

01:33:57   operation so if someone yanked the plug [TS]

01:33:59   your computer and it was in the riddle [TS]

01:34:00   middle of writing a file what you want [TS]

01:34:02   to happen when you reboot is either the [TS]

01:34:03   entire files there are none of the files [TS]

01:34:05   there and check some metadata could [TS]

01:34:08   conceivably help with that because what [TS]

01:34:10   you're gonna do is you're gonna write [TS]

01:34:12   the data and write the metadata but the [TS]

01:34:14   debt metadata is not complete like it or [TS]

01:34:16   not we didn't finish if we're not done [TS]

01:34:17   then you just ignore all that it's all [TS]

01:34:19   invalid in the file basically isn't [TS]

01:34:20   there you have a consistent filesystem [TS]

01:34:22   don't worry about that partially written [TS]

01:34:23   file that partially written method or [TS]

01:34:25   whatever and how do you tell whether the [TS]

01:34:27   metadata is partially written while all [TS]

01:34:28   your metadata as check sums when you're [TS]

01:34:30   looking at that piece of metadata you [TS]

01:34:32   can look at it and do the checksum [TS]

01:34:33   inside is the checksum match the [TS]

01:34:35   metadata and if it does it's completed [TS]

01:34:36   if it doesn't you know you have a [TS]

01:34:38   journaling and stuff but the aps is not [TS]

01:34:40   used darling journaling is relatively [TS]

01:34:42   expensive way to do the same thing where [TS]

01:34:43   you sort of write out what you plan to [TS]

01:34:45   do then you do it and you write out that [TS]

01:34:46   you're done [TS]

01:34:47   and how it can tell whether you finish [TS]

01:34:48   the operation or not I metadata is in [TS]

01:34:51   general more important the data because [TS]

01:34:53   if you screw up the metadata you could [TS]

01:34:54   lose your entire disk like screwing up [TS]

01:34:56   the metadata for an entire directory and [TS]

01:34:58   then everything under it becomes [TS]

01:34:59   invisible whatever method is really [TS]

01:35:01   small and check sums are really fast on [TS]

01:35:03   it there's no real performance it so abs [TS]

01:35:05   does do check sums with metadata does [TS]

01:35:07   not do it with data this is a topic that [TS]

01:35:10   came up a lot of WC talking to other [TS]

01:35:12   people who had up the other file system [TS]

01:35:15   nerds who would also talked to people in [TS]

01:35:17   the possum team about a PFS and oh I [TS]

01:35:21   think I think this was a very popular [TS]

01:35:26   feature suggestion hey will be great if [TS]

01:35:27   API has had an interview or the question [TS]

01:35:29   why doesn't a PFS have data integrity [TS]

01:35:31   and a lot of the the reasons are you [TS]

01:35:33   know things that I said that is [TS]

01:35:34   potentially expensive one of the reasons [TS]

01:35:37   that I heard was that ssds do their own [TS]

01:35:41   check something internally which is true [TS]

01:35:42   they do because they have to deal with [TS]

01:35:44   the pretty startlingly unreliable nature [TS]

01:35:48   of flash storage you know all sort of [TS]

01:35:52   memory chips are inherently at the [TS]

01:35:55   bottom tiny little analog devices that [TS]

01:35:57   are a little bit scary when you find out [TS]

01:35:58   how they work and SSDs and are different [TS]

01:36:01   ssds have over-provisioning where they [TS]

01:36:03   have many more memory cells and they're [TS]

01:36:05   going to use and is actually a tiny [TS]

01:36:06   little operating system in there that's [TS]

01:36:08   trying to distribute all this stuff to [TS]

01:36:09   all the storage and they wear out if you [TS]

01:36:11   use them too much it's very very [TS]

01:36:13   complicated but they do copious not just [TS]

01:36:15   check sums but also error-correcting [TS]

01:36:17   code so if they find a bit flip because [TS]

01:36:18   of some analog or whatever they can fix [TS]

01:36:20   it before returning the data so that's [TS]

01:36:23   one of their stopgaps is like a spinning [TS]

01:36:26   this don't do that so much but they're [TS]

01:36:27   going out and ssds do the checksums [TS]

01:36:29   that's not really a great solution [TS]

01:36:31   because there are other places they're [TS]

01:36:32   convenient errors can be introduced like [TS]

01:36:34   in other hardware other than the SSD [TS]

01:36:36   itself like the bus and everything but [TS]

01:36:38   since Apple controls the entire chain [TS]

01:36:40   they control the bus that control the [TS]

01:36:43   ssds in theory especially as they make [TS]

01:36:44   max don't don't make max anymore that [TS]

01:36:46   you can swap lots of different hard [TS]

01:36:48   drives into and everything that they're [TS]

01:36:50   little bit better off the rails but [TS]

01:36:51   doesn't really help with bit rot right [TS]

01:36:53   all my family photos to one terabyte SSD [TS]

01:36:55   they get their successfully and then [TS]

01:36:57   five years later I have no idea if those [TS]

01:36:58   bits [TS]

01:36:59   flip the file system can tell because it [TS]

01:37:00   doesn't know what it originally written [TS]

01:37:01   all I can really do is read them and say [TS]

01:37:03   here's what I've got on disk is that [TS]

01:37:04   what you wrote five years ago [TS]

01:37:06   beats the hell out of me i don't know so [TS]

01:37:08   I've been thinking about possible other [TS]

01:37:10   solutions of Apple never builds in data [TS]

01:37:12   integrity a PFS and one of them is [TS]

01:37:14   something that I think there's an hfs+ [TS]

01:37:17   program does is ready [TS]

01:37:18   userspace solution II just scan all your [TS]

01:37:21   files checks on them write the check [TS]

01:37:23   from someplace else and then if anything [TS]

01:37:26   goes wrong with either the checksum or [TS]

01:37:28   the data itself the two won't match [TS]

01:37:30   anymore and you will know that your [TS]

01:37:32   files corrupted and you can restore from [TS]

01:37:34   backup so it's sort of like userspace [TS]

01:37:36   manual process of scanning all the files [TS]

01:37:39   that you care about and writing out the [TS]

01:37:40   check sums and periodically scanning [TS]

01:37:42   them all again and make sure the check [TS]

01:37:43   comes all matching about anything don't [TS]

01:37:44   match then restoring from your [TS]

01:37:46   presumably good backup you know so [TS]

01:37:48   basically in protecting instead wrought [TS]

01:37:50   by actively doing some process [TS]

01:37:52   periodically hoping that you don't [TS]

01:37:53   propagate whatever corruption has [TS]

01:37:55   appeared in to all of your incremental [TS]

01:37:57   backups you will know about the error in [TS]

01:37:58   enough time to restore from your backups [TS]

01:38:00   and that's kind of a heavyweight [TS]

01:38:02   solution think about the name of the HFS [TS]

01:38:04   plus program that does that clusters [TS]

01:38:08   maybe or maybe that's just the [TS]

01:38:09   impression anyway i'll try to look up [TS]

01:38:11   for the show notes the course if you if [TS]

01:38:14   you're a programmer and you think about [TS]

01:38:16   this problem for more than a few seconds [TS]

01:38:17   you realize that there is a big race [TS]

01:38:20   condition here where if you're trying to [TS]

01:38:22   read a file and check some it and then [TS]

01:38:24   write out that checksum what if between [TS]

01:38:26   the time that you read that file and the [TS]

01:38:28   time you wrote the check something [TS]

01:38:30   modified that file [TS]

01:38:31   what if it modified while you were in [TS]

01:38:32   the middle of reading it your your [TS]

01:38:35   checks on your file one match and it [TS]

01:38:37   will appear as if corruption occurred so [TS]

01:38:39   you can do a thing where you say okay [TS]

01:38:40   after I read the file [TS]

01:38:42   I can't calculate check something to [TS]

01:38:43   write the check some after at the [TS]

01:38:45   checksum I'll read the file again and if [TS]

01:38:47   it doesn't have to check some I won't [TS]

01:38:49   assume it's corrupt i'll just try to do [TS]

01:38:50   it again you just racing yourself over [TS]

01:38:52   and over again until you get a matching [TS]

01:38:53   set about how finally I got a matching [TS]

01:38:55   set but you're not solving the race [TS]

01:38:57   condition that way it's essentially a an [TS]

01:39:00   intractable race condition without help [TS]

01:39:02   from some other part of the system [TS]

01:39:03   without help for example a way to say i [TS]

01:39:06   want to stop anything else in the system [TS]

01:39:08   for writing to this file and in general [TS]

01:39:10   operating systems don't prove [TS]

01:39:12   I ways to do it provide advisory locking [TS]

01:39:14   but it's very difficult to stop anything [TS]

01:39:17   else from right into the system writing [TS]

01:39:19   to a particular file in general [TS]

01:39:22   luckily both hfs+ and I assume a PFS [TS]

01:39:27   include a feature that can help with [TS]

01:39:29   this I don't know why i was a tad hfs+ [TS]

01:39:31   but it's been there for a couple years [TS]

01:39:32   now i think and it is what is it called [TS]

01:39:36   its called the the right generation [TS]

01:39:38   counter you can get this on any file [TS]

01:39:40   today on your mac and hfs+ of you all [TS]

01:39:42   get our list it's called the constant in [TS]

01:39:44   the ghetto ass man pages add our common [TS]

01:39:47   jen count it is a recording the [TS]

01:39:50   documentation nonzero monotonically [TS]

01:39:52   increasing generation count for this [TS]

01:39:54   file system objects for all classes and [TS]

01:39:56   objects not just files [TS]

01:39:57   it's basically a number that goes up [TS]

01:39:58   anytime anything happens to a file all [TS]

01:40:00   you gotta do is store both the checksum [TS]

01:40:02   and the generation count and then you [TS]

01:40:06   will know this checksum is for this [TS]

01:40:07   generation counter the file and if [TS]

01:40:09   anything in the entire system that [TS]

01:40:10   anything that file that number will go [TS]

01:40:12   up and you will know your checksum is [TS]

01:40:13   invalid so in the future when you're [TS]

01:40:16   checking for corruption you won't be [TS]

01:40:17   confused as I don't know I've detected [TS]

01:40:18   corruption because you will know that [TS]

01:40:20   yet the checksum doesn't match the file [TS]

01:40:21   data but that checksum was for [TS]

01:40:23   generation count number five and the [TS]

01:40:25   file is currently on generation account [TS]

01:40:26   number seven so it's time for Yuri [TS]

01:40:28   computer check some sodas a system [TS]

01:40:30   guaranteed way for you to match up the [TS]

01:40:31   checks on the generation count and the [TS]

01:40:34   content of the file and that is very [TS]

01:40:36   handy and it makes me think that cool [TS]

01:40:39   Marco here like i should write my first [TS]

01:40:40   mac program which is a file that just [TS]

01:40:42   does these checks out and use it because [TS]

01:40:44   I mean I'm gonna say i could write in [TS]

01:40:46   pearl but I totally could write in pearl [TS]

01:40:47   but now like an actual back from that [TS]

01:40:49   does this [TS]

01:40:50   it's really straightforward the only [TS]

01:40:52   real problem is where you write the [TS]

01:40:53   check sums you could write them to [TS]

01:40:54   extended attributes that seems kind of [TS]

01:40:56   antisocial to me you could write into a [TS]

01:40:57   separate database better be able to [TS]

01:40:59   handle millions of things but anyway i'm [TS]

01:41:01   actually thinking about this program a [TS]

01:41:03   simple program that you pointed a [TS]

01:41:04   subdirectory that doesn't check sums for [TS]

01:41:06   empirically scrubs it and tells you if [TS]

01:41:08   anything has a gun corrupt i think a [TS]

01:41:11   local sequel database would be a pretty [TS]

01:41:13   good way to do that you think that [TS]

01:41:15   because you have never inserted more [TS]

01:41:16   than a million rows in a sequel database [TS]

01:41:18   i have and i can tell you it falls over [TS]

01:41:20   badly and even likes a simple because I [TS]

01:41:23   would just be like you know a string key [TS]

01:41:25   well [TS]

01:41:26   knows how you represent the file name [TS]

01:41:27   but however you interpret the final [TS]

01:41:29   string key and check so you do the file [TS]

01:41:33   name but you can do that you have a [TS]

01:41:35   unique ID for the file with this another [TS]

01:41:37   thing you can get from hfs+ right so you [TS]

01:41:39   basically start like two integers [TS]

01:41:41   yeah it doesn't it doesn't do well try [TS]

01:41:43   if you try to do a graph like of [TS]

01:41:44   inserting maybe maybe I never tried with [TS]

01:41:47   parents have always had some string in [TS]

01:41:49   there but once you get into the millions [TS]

01:41:51   the insert start slowing way way way [TS]

01:41:54   down i know that i knows from experience [TS]

01:41:56   can you provide a custom value to be the [TS]

01:41:58   row ID how to get rid of the sequence ya [TS]

01:42:01   get rid of one integer if you can go if [TS]

01:42:03   you can provide a customer ID the new [TS]

01:42:05   then each Road only have effectively one [TS]

01:42:07   column [TS]

01:42:08   yeah I don't know why it's like maybe [TS]

01:42:09   it's a bit maybe I had indexes on it but [TS]

01:42:11   a ride I did it for like a data that was [TS]

01:42:13   like a couple of integers in a couple of [TS]

01:42:14   strings and I left the you know that the [TS]

01:42:16   row ID and in the millions disaster [TS]

01:42:20   unmute becomes unusable like it's fine [TS]

01:42:22   in tens of thousands it's okay and [TS]

01:42:24   hundreds of thousands but once you get [TS]

01:42:25   into millions and this was maybe like [TS]

01:42:27   three years ago so many things are [TS]

01:42:28   improved but anyway there there are [TS]

01:42:30   solutions to this is not an [TS]

01:42:31   impossibility so I'm saying there's also [TS]

01:42:33   starting to peel is that will be fine [TS]

01:42:34   whatever it's worth I i'm pretty sure [TS]

01:42:37   there's some kind of optimization where [TS]

01:42:38   if you i think if you provide some kind [TS]

01:42:41   of like bigint column instead of the row [TS]

01:42:44   idea i think it will use that as the [TS]

01:42:46   right here so there's something like [TS]

01:42:47   that I I application be sure you know [TS]

01:42:49   there's a lot of innovation sequel I'd [TS]

01:42:51   you know it took to make it sort of less [TS]

01:42:52   safe but faster but you're doing an [TS]

01:42:55   extended attributes would be entirely [TS]

01:42:56   straightforward but i'm not sure that's [TS]

01:42:58   the best solution especially if you [TS]

01:42:59   don't have you have only read permission [TS]

01:43:01   to the files you can't write extended [TS]

01:43:02   attributes to them anyway have to think [TS]

01:43:04   about because extended at that address [TS]

01:43:06   is totally the way to do a file time [TS]

01:43:08   machine by the way does keep checksums [TS]

01:43:10   with all those files and has for many [TS]

01:43:11   years I forget where it stores and [TS]

01:43:12   probably an extended attributes but who [TS]

01:43:14   knows but anyway in time machine it owns [TS]

01:43:16   the entire area that it's writing too so [TS]

01:43:19   does not to worry about permissions [TS]

01:43:20   issues but anybody could be a limitation [TS]

01:43:22   of the program hey if it can't check [TS]

01:43:24   some a bunch of files always tell you [TS]

01:43:25   when it's done yeah you pointed me this [TS]

01:43:27   directory and it turns out they were you [TS]

01:43:29   know seven thousand files that i could [TS]

01:43:31   not check some because I can't write [TS]

01:43:33   them i don't know I've been thinking [TS]

01:43:34   about it a little bit is the world's [TS]

01:43:35   most boring program but [TS]

01:43:37   any absence of file systems support for [TS]

01:43:39   a bit rot detection we need some [TS]

01:43:41   solution and since it's technically [TS]

01:43:43   possible it's technically possible hfs+ [TS]

01:43:45   was like i said this feature this [TS]

01:43:46   generation right counters is on hfs+ now [TS]

01:43:48   it's just that I've never really thought [TS]

01:43:50   about doing it as I was assumed the [TS]

01:43:52   filesystem come and save me but that [TS]

01:43:53   doesn't turn out to be the case I'm take [TS]

01:43:55   matters into my own hands [TS]

01:43:56   i mean if if there's ever like an app [TS]

01:44:00   that would be perfect for two days John [TS]

01:44:02   siracusa to make and publicize i mean i [TS]

01:44:06   can't i can't think of something that [TS]

01:44:07   would be better [TS]

01:44:08   yeah i mean the other solution as many [TS]

01:44:09   people tell you oh just make a use [TS]

01:44:11   freenas to make a ZFS mass and put all [TS]

01:44:13   your data on that and that would be a [TS]

01:44:15   solution that nobody wants to do that my [TS]

01:44:17   synology doesn't technology supports the [TS]

01:44:19   btrfs now which I think has day to check [TS]

01:44:21   something but my synology doesn't [TS]

01:44:22   support it so maybe when i went to Mass [TS]

01:44:25   eventually dies and are replaceable by [TS]

01:44:26   10 FS and that'll solve the problem but [TS]

01:44:28   in the meantime I'm experiment with this [TS]

01:44:30   sunday was the best thing is you'll get [TS]

01:44:33   Sherlock in like two years when they had [TS]

01:44:34   when they had exactly so the full [TS]

01:44:36   developer experience yeah exactly [TS]

01:44:38   because when i finally get it working [TS]

01:44:40   will be like now a PFS says the data [TS]

01:44:42   integrity get rejected from the mac app [TS]

01:44:44   store because it won't be sandbox about [TS]

01:44:46   all access yeah yeah yeahs try to sell [TS]

01:44:51   it get you know there will be something [TS]

01:44:52   like competitor that will sell theirs [TS]

01:44:53   for less than I like i said i think [TS]

01:44:55   there's already a program that does this [TS]

01:44:56   for each of us plus and presumably that [TS]

01:44:58   same program will work on a PM as I [TS]

01:45:00   forget the name of the programs but yeah [TS]

01:45:01   this is not it's not a new idea i think [TS]

01:45:03   this is already implemented an [TS]

01:45:04   application I just can't remember the [TS]

01:45:06   name which is probably why don't have it [TS]

01:45:07   installed for like no reason that when i [TS]

01:45:09   think about it like why haven't you done [TS]

01:45:11   this before why aren't you running the [TS]

01:45:12   HFS plus one that does this [TS]

01:45:14   I was always just thinking the sauces [TS]

01:45:16   that would save me I thought like well [TS]

01:45:18   I'll just I'll stick it out and nobody [TS]

01:45:20   knew file system here probably next year [TS]

01:45:22   and I've been thinking that for a lot of [TS]

01:45:23   years finally finally came [TS]

01:45:26   no data integrity alright what else is [TS]

01:45:29   going on me in apple filesystem tell me [TS]

01:45:32   about space sharing that this therefore [TS]

01:45:34   we gotta save that for a but i just want [TS]

01:45:36   to get dinner as well shuffled around [TS]

01:45:37   will save the other details to the rest [TS]

01:45:39   of this is the main point I want to get [TS]

01:45:41   to the word discuss will talk about [TS]

01:45:42   space sharing an atomic on snapshots [TS]

01:45:44   next week probably already thanks lat 43 [TS]

01:45:47   sponsor this week fracture hover and [TS]

01:45:49   back plays and [TS]

01:45:50   we'll see you next week [TS]

01:45:53   now the show is over they didn't even [TS]

01:45:58   mean to be in because it was accidental [TS]

01:46:02   oh it was accidental John any research [TS]

01:46:07   Marco and Casey would know [TS]

01:46:10   because it was accidentally was [TS]

01:46:13   accidental [TS]

01:46:15   you can find the show know today p dot [TS]

01:46:19   and if your twitter you can follow them [TS]

01:46:26   yes byl i assessed that's Casey list and [TS]

01:46:31   a co-pay rm20 Marco Arment and our AC at [TS]

01:46:40   Syracuse [TS]

01:46:53   sorry talk about eva is no no don't [TS]

01:46:58   think I forgot about that i mean we're [TS]

01:46:59   gonna get to it someday we're never [TS]

01:47:00   gonna talk about you know we are we are [TS]

01:47:03   going to talk about tivo by the time we [TS]

01:47:05   get to it people are going to care even [TS]

01:47:06   less than they do now and that's pretty [TS]

01:47:08   that's pretty impressive really when you [TS]

01:47:10   think about it I'll care what nobody the [TS]

01:47:14   only one on apple buys what the hell's [TS]

01:47:16   the name indicates a rodeo but it's not [TS]

01:47:17   the angry birds company I below so when [TS]

01:47:21   apple buys then all of a sudden Mulcair [TS]

01:47:22   well then we will talk about it until [TS]

01:47:25   then don't see the point but to be fair [TS]

01:47:29   to be fair i have nothing else to talk [TS]

01:47:31   about so whatever I i discovered during [TS]

01:47:35   our show that you can not be theirs [TS]

01:47:38   I don't know when this became possible [TS]

01:47:40   but nailed on tap on the mac now [TS]

01:47:43   supports flagging where the flags can be [TS]

01:47:46   any color of this like list of multiple [TS]

01:47:48   colors and it's been that way for a [TS]

01:47:49   while I thought how long have i I've [TS]

01:47:51   always just hit you know command ship [TS]

01:47:53   lol whatever it is to set the flag I've [TS]

01:47:55   never known there were multiple flags [TS]

01:47:58   now I can make my crappy email filing [TS]

01:48:00   system even worse by making all like the [TS]

01:48:02   flag messages but i never get back to [TS]

01:48:04   now I can make them different colors i [TS]

01:48:05   never get back to and color your shame [TS]

01:48:08   yep wow you know if you never get back [TS]

01:48:11   to them maybe it's not worth flagging [TS]

01:48:13   yeah that's probably right now that [TS]

01:48:15   that's not that's not how that works its [TS]

01:48:17   flagging them because he thinks he has [TS]

01:48:18   to get back to them by saying because I [TS]

01:48:20   failed to they must not have been [TS]

01:48:21   important but it's not true [TS]

01:48:23   one could be like pick up adam from [TS]

01:48:26   daycare it's like well I never did it I [TS]

01:48:27   guess I was not important man flag [TS]

01:48:30   well the good thing is like it when when [TS]

01:48:31   you are as crappy and as slacking as i [TS]

01:48:34   am with was dealing with email and [TS]

01:48:36   responding to email most email removes [TS]

01:48:40   the need to respond to it if you just [TS]

01:48:42   don't do it for like two weeks [TS]

01:48:44   yeah but on the other hand i'm probably [TS]

01:48:46   losing a lot of friends and colleagues [TS]

01:48:47   by doing this so it's definitely not [TS]

01:48:50   free sending email DeMarco is sending an [TS]

01:48:53   email into a black hole [TS]

01:48:54   it's sending it to Devan all I just come [TS]

01:48:57   up with a new topic future Sheldon write [TS]

01:48:58   this and what email email handling that [TS]

01:49:03   yeah that no one's ever going to [TS]

01:49:04   Pakistan that before [TS]

01:49:05   no but it sounds like you guys have very [TS]

01:49:07   different systems i think it's worth [TS]

01:49:09   talking about assuming i have a system [TS]

01:49:11   could actually that's right this is all [TS]

01:49:13   this is a whole show i'm writing gonna [TS]

01:49:14   get my collection of hacks is not really [TS]

01:49:16   something i would describe as a system [TS]

01:49:18   it is it is more just like it just a [TS]

01:49:21   gradual progression of shame [TS]

01:49:23   I'm not words wait you're adding it in [TS]

01:49:26   to the show me is how we handle email [TS]

01:49:28   future topic screen time for kids is [TS]

01:49:30   also i don't know if it's the only [TS]

01:49:31   document that's also a topic that I [TS]

01:49:33   think we should get them at my people [TS]

01:49:34   the threshold of making history but it [TS]

01:49:36   doesn't since I engine your kids just [TS]

01:49:37   get older and they get more screens [TS]

01:49:39   declan's going to be getting into screen [TS]

01:49:40   time now Adams already into screen time [TS]

01:49:43   on topic the whole show [TS]

01:49:45   yeah yes because that's what we need to [TS]

01:49:47   do is a parenting show [TS]

01:49:48   yes apparently it's tech related it's [TS]

01:49:50   tech related parenting stuff we could [TS]

01:49:52   get we should do the parenting show [TS]

01:49:53   right after doing the email show to [TS]

01:49:55   really ensure we get the most emails no [TS]

01:49:57   go on the people of these topics [TS]

01:49:59   magnetic this technology is part of [TS]

01:50:02   their lives and part of technology as a [TS]

01:50:05   case you will tell you as your feelings [TS]

01:50:07   about it [TS]

01:50:08   mhm yeah you still on episode five [TS]

01:50:10   analog sure I i think i was i think it [TS]

01:50:15   was actually like random random episodes [TS]

01:50:17   like i'm not i'm not going you know [TS]

01:50:19   every once in a while there's a random [TS]

01:50:20   episode the people say I have to listen [TS]

01:50:21   to my list too but yeah sequentially him [TS]

01:50:24   I listen to all that because i'm a good [TS]

01:50:26   Frankie marco de exactly you're the one [TS]

01:50:29   who cares you have a lot of free time [TS]

01:50:30   that that too because you're retired or [TS]

01:50:34   something [TS]

01:50:35   goodness i actually have a busy summer / [TS]

01:50:37   have explained well you know I'm going [TS]

01:50:39   on vacation no I'm you know I busy I'm [TS]

01:50:45   busy trying to paralyze an mp3 encoder [TS]

01:50:47   from the early two thousands sign of not [TS]

01:50:50   being busy i think that's what that is [TS]

01:50:52   this is also just kind of like a [TS]

01:50:53   procrastination tactics for to avoid me [TS]

01:50:56   having to dive into the iOS 10 stuff [TS]

01:50:58   quite yet we're gonna say what what what [TS]

01:51:00   are you not doing that's making you [TS]

01:51:01   paralyzed mp3 encoder i have i have like [TS]

01:51:05   a lot of like big things to do on [TS]

01:51:07   overcast for I was ten just like just [TS]

01:51:09   you know the obvious stuff like [TS]

01:51:10   rewriting the watch app for watching us [TS]

01:51:12   three and then [TS]

01:51:13   you know looking into all the new widget [TS]

01:51:14   and notifications stuff everywhere and [TS]

01:51:16   they just gonna be a lot of a lot of [TS]

01:51:19   work like that then some big projects [TS]

01:51:21   that like even just starting them is [TS]

01:51:23   kind of daunting so I haven't had a lot [TS]

01:51:26   of good work time in the last few days [TS]

01:51:27   I've been kinda just like chipping away [TS]

01:51:29   at side projects and animist [TS]

01:51:30   administrative work here and there just [TS]

01:51:32   in the time I have been too busy in the [TS]

01:51:34   bouncy house [TS]

01:51:35   yeah that one of the side projects is [TS]

01:51:37   bouncing little really take time out of [TS]

01:51:38   your schedule like sorry if I would be [TS]

01:51:40   doing development now but the house not [TS]

01:51:42   going to balance itself [TS]