PodSearch

The Accidental Tech Podcast

24: Double Meta

 

00:00:00   dumping the DROP TABLE 10 because Apple probably does not protect against [TS]

00:00:05   injection [TS]

00:00:06   Raquel take down the hall I do I do like I'm double metal or made an announcement [TS]

00:00:13   that was made i've i've heard that occasionally but it's it's much more [TS]

00:00:18   rare than you know the gift gift thing like that's like 50 51 made us know [TS]

00:00:22   sorry that's not a sound good [TS]

00:00:25   this reminds me of when I brought up the broth phase and neutral but I wrote my [TS]

00:00:32   first VA list function a few minutes ago [TS]

00:00:35   like all this time I've known that it's a thing I've known you know that that [TS]

00:00:40   this is how you do very well argument list C functions but I've never actually [TS]

00:00:45   needed to write one really until like an hour ago I did that at my first job [TS]

00:00:52   which was C++ $4 remember why did it but I did it was weird so would you use it [TS]

00:00:59   for him I'll add asked yet you want I so I first from my new big thing I've now [TS]

00:01:08   done in in substantially shipping products I've now done both core data in [TS]

00:01:15   the magazine and grant that's a that's a pretty light use for today but it's [TS]

00:01:19   still a shipping Peppino productive for production use of this listing for a [TS]

00:01:24   real app that's not entirely trivial so I've used for data and Instapaper I used [TS]

00:01:32   SQLite just wrong and just made a few lightweight utility functions to wrap on [TS]

00:01:38   top of it but I didn't that's everything was really just done violet rock and [TS]

00:01:44   roll calls the escalating the eye and i know if i dont not pronounced SQLite and [TS]

00:01:48   I don't care I also sick if a while sucking it anyway I so from a new [TS]

00:01:59   project now that I've seen both I would like to get back to SQLite a little bit [TS]

00:02:05   just because core data is really nice for a very large set of things but this [TS]

00:02:10   is something where I expect to be dealing with a lot of [TS]

00:02:13   data and I know when you have large datasets that core data performance [TS]

00:02:18   problems can can pretty easily arise and can often be very very hard to get [TS]

00:02:22   around so I decided to use just Mueller's awesome FMD be which is a [TS]

00:02:30   which is a pretty lightweight wrapper around SQLite and what I what I decided [TS]

00:02:36   to build was a similarly lightweight model class on top of that and this is [TS]

00:02:44   probably this is one of those things where if you hear program were saying [TS]

00:02:47   they made their own model class chances are it was a bad idea and mile chances [TS]

00:02:52   are mine is probably a bad idea as well but I'm doing it anyway just like [TS]

00:02:56   BlogEngine and receive my own coffee I'm doing these things anyway even though [TS]

00:02:59   it's it's generally not worth it and I'm probably like so OK to meet the main [TS]

00:03:04   argument against this this is the classic like programmer know it all [TS]

00:03:08   wanting to rewrite something really critical that everyone's on a million [TS]

00:03:11   times and chances are my version gonna have bugs you know they're implementing [TS]

00:03:16   units joke or a maximalist whatever the whatever the joke is all three so it is [TS]

00:03:25   let's look at it was UNIX ok I have to look that up anyway so of course you're [TS]

00:03:32   right John this is the kind of thing you would know is that resemble any it's [TS]

00:03:35   like you know if any any program eventually includes a half ass buggy [TS]

00:03:41   implementation of whisper something like that I'm paraphrasing yeah I'm pretty [TS]

00:03:45   sure that is the thing I'm referring to [TS]

00:03:46   anyway so so there's there's already probably a million of these things out [TS]

00:03:51   there but I don't like using other peoples frameworks that do substantial [TS]

00:03:57   like non trivial things I don't generally tend to use those except [TS]

00:04:02   apples and you know things that I just really could not write myself but using [TS]

00:04:10   other peoples like utility functions to fight that that's why I'm a handy [TS]

00:04:13   because not only do a lot of people use it and just be a good programmer but I [TS]

00:04:17   can I can look at the code it's not a very large library it's it's actually [TS]

00:04:21   very very compact [TS]

00:04:23   and it is really is just like it really just convenience wrappers around SQLite [TS]

00:04:28   for the most part and so is it so you know it's pretty thin so you're not [TS]

00:04:33   you're not like networking family if not working I [TS]

00:04:38   to the magazine fairly late like it and I think in the most recent version of [TS]

00:04:43   the magazine I think it for for some some relatively [TS]

00:04:48   or some relatively trivial thing I really want to try it I know I have [TS]

00:04:51   networking is very very good and a programmer is that is that met with 3 [TS]

00:04:54   t's Thompson who believe that's right he's a he's really really good so that's [TS]

00:05:00   what I like I have no problem using his coat cuz he's ridiculously good so I'm [TS]

00:05:05   pretty sure but everyone is not working so I know that you know it probably is [TS]

00:05:12   not buggy and if there is a bug is probably affects pretty quickly so it's [TS]

00:05:18   nothing like you know it they do a lot of things there it's it's still a fairly [TS]

00:05:21   thin layer though like different parts of it I guess there are different widths [TS]

00:05:27   but yes so anyway long story short I decided to write my own model class and [TS]

00:05:36   this involves [TS]

00:05:38   anytime you write something like this there's a there's a lot of weird design [TS]

00:05:42   decisions you have to make this is one of the first times I've really had to [TS]

00:05:46   dive in to check to C runtime stuff and I'm trying to avoid it being happy Eid [TS]

00:05:52   and now I'm only I'm calling us runtime functions to basically do reflection and [TS]

00:05:58   we had a whole reflection topic on the cut on the topic but I wonder if we can [TS]

00:06:04   get to this now but we certainly can [TS]

00:06:06   yeah but you know like in in dynamic languages like most of the Web languages [TS]

00:06:12   like you know that they've been sleeping with the soviets it's easy to it it's [TS]

00:06:17   very very easy to like you know just inspect your variables and see what the [TS]

00:06:21   class has and [TS]

00:06:23   and do crazy things to it and and everything else with Objective C a lot [TS]

00:06:28   of that is possible some of its not but it's actually more possible than I [TS]

00:06:33   thought it was so one thing I'm doing is you know the model class has its own [TS]

00:06:40   dictionary mapping column names to their values that's so awful but carry on [TS]

00:06:48   go on the times as well it's awful in in that coming from a.net background [TS]

00:06:57   background that is not at all how he would handle it but in Objective C that [TS]

00:07:02   probably is exactly how I would handle its all tell you the other approach when [TS]

00:07:06   you're done so I'm sorry carry on no please tell me now [TS]

00:07:09   alright so now you've just lost the floor for an hour and Johnny Manziel [TS]

00:07:13   just hang up so one of the things I've been wanting to talk about any TV for a [TS]

00:07:17   long time is having a leg in in both the dot net and the Objective C and cocoa [TS]

00:07:23   world's is that there's a there's a lot of obvious differences between the two [TS]

00:07:28   platforms and by and large I really really like the decisions that Apple's [TS]

00:07:32   made and my friend Jimmy Pinkham said to me ones when I was complaining about for [TS]

00:07:38   example how convoluted handling dates are within Coco he said just a date [TS]

00:07:45   class that handles everything in Indiana he said it more eloquently than about [TS]

00:07:49   recounted but he said something to the order up you know is it really that [TS]

00:07:52   complex or is it just properly abstracted and it was one of those [TS]

00:07:56   polled you know total mind explosions you know what you're actually right [TS]

00:07:59   about that and so large I think that that cocoa and Cocoa Touch a really [TS]

00:08:03   really well done however reflection in coca-cola cup attached not as well known [TS]

00:08:09   as I would like [TS]

00:08:10   so let's give you an example by way of how would I have done the same thing in [TS]

00:08:15   dotnet and this all queued for me when you tweeted about 34 days ago about what [TS]

00:08:22   do you call the thing that represents the unique identifier foreign object [TS]

00:08:27   actually in most languages that would be I D [TS]

00:08:31   but in Objective C you can't really do that because it works just fine [TS]

00:08:37   which is a little bit scary but it does work right you can name a variable IDE [TS]

00:08:43   mine was even type I D that's gotta make me hurt so bad but the point of driving [TS]

00:08:50   is whether or not not anymore but allowed it's just not a good plan and I [TS]

00:08:54   think we can all agree about that so what I've done and done at what's really [TS]

00:08:58   great about that at his reflection is in my personal opinion kind of a [TS]

00:09:01   first-class portion of the language in dotnet is really meditative heavy so [TS]

00:09:07   what that means is when I have what a.net program Caulfield but but [TS]

00:09:12   Objective C program program would call live are basically a variable in class I [TS]

00:09:17   can actually decorate that variable with arbitrary things that we call attributes [TS]

00:09:22   so if you imagine a class definition you can say that you have a very bold that's [TS]

00:09:28   called unique identifier for example where you can put an attribute that's [TS]

00:09:33   associated with that variable and that attribute is actually an instance of a [TS]

00:09:38   class that inherits from a certain base class call guess what [TS]

00:09:42   attribute so I could make an attribute that decorates that field that specifies [TS]

00:09:49   what the colony me for that I far so let me play this back I've got a class I've [TS]

00:09:56   got a class that's in my application that may or may not use the same terms [TS]

00:10:02   as I want to use my data store so I could call whatever this is this [TS]

00:10:09   variable but like I said unique identifier I could call that unique [TS]

00:10:13   identifier in my C sharp code but I could decorate it with an attribute that [TS]

00:10:19   says hey when you go back to the database [TS]

00:10:21   it's actually called I D and so that's really really powerful being able to [TS]

00:10:27   easily and that's the key here easily introspect and reflect upon yourself in [TS]

00:10:32   C [TS]

00:10:33   what what meditating you have about your own classes and I use this constantly [TS]

00:10:39   when I first learned about it was one of those things where I had a hammer so [TS]

00:10:42   everything was a nail and I'm not proud of that but as I've gone on to be a more [TS]

00:10:48   mature programmer III still use this all the time and you can write your own [TS]

00:10:52   custom attributes like I said you can use a ton of existing attributes but [TS]

00:10:56   being able to decorate your code and and and give yourself help on what to do [TS]

00:11:03   with your code is the most powerful thing in the world so to bring us back [TS]

00:11:06   to Coco what I would have liked to have been able to do is do the same thing for [TS]

00:11:11   you would have been able to do is to do the same thing and have this Ivar thats [TS]

00:11:14   may be called identifier but in the database is called idea and you don't [TS]

00:11:19   have to have a stupid freakin dictionary or hash table or whatever the case may [TS]

00:11:23   be hanging out doing that conversion it's all in line it's a first-class part [TS]

00:11:30   of that class does that make any sense at all it did that actually really cool [TS]

00:11:34   because I mean I don't even I think I think there actually is buried in the [TS]

00:11:40   runtime away in Objective C two attacks arbitrary objects to any NSObject but I [TS]

00:11:46   don't think and and either way let you know that you probably shouldn't be [TS]

00:11:52   doing things with the is a lot of a lot of things with with you know designing [TS]

00:11:57   low-level model and and reflection type classes and things like that does a lot [TS]

00:12:03   of times where like there's something you can do that you probably shouldn't [TS]

00:12:06   do and a lot of room for terrible acts right and you could do an associated [TS]

00:12:11   object but that's a little bit different because that's more of saying this [TS]

00:12:16   because I haven't done in a while but if memory serves that's saying hey for this [TS]

00:12:20   instance of this class I want to have this arbitrary object associated with it [TS]

00:12:25   where is what I'm talking about is at a class level on defining an additional [TS]

00:12:29   piece of medidata that's part of that class definition and and again it's just [TS]

00:12:34   extremely powerful I think you're right mark I think you can do a lot of this [TS]

00:12:37   with Objective C I'm plugged into reflection in the sea and a lot of it is [TS]

00:12:42   possible a whole heck of a lot of it [TS]

00:12:44   it but the thing that's crummy about it in we've complained about this is a [TS]

00:12:49   threesome for that you gotta drop into the C runtime and you were saying this [TS]

00:12:53   just a few minutes ago you gotta rent dropping the Objective C runtime which [TS]

00:12:56   is all straight see which once you get used to the Christine world of objective [TS]

00:13:00   see it's just it's it's it's not that I mean you know I like I had to write [TS]

00:13:05   Malik and free earlier today for the first time in a while but you know it's [TS]

00:13:09   like it's like 10 lines of C in the middle of this wonderful cushy Playland [TS]

00:13:14   I mean it's not it's not that bad so if someone would you have done in PHP and [TS]

00:13:20   John at like to know where pearl fits in if we ever give you a chance to talk to [TS]

00:13:24   like what you've done if you were trying to solve the same problem in PHP but [TS]

00:13:27   have said the same problem PHP III use for Instapaper for the magazine for the [TS]

00:13:32   new things I I do use my own MVC framework that is very thin and [TS]

00:13:37   lightweight so I can use SQL directly all the same goals actually well most of [TS]

00:13:41   the same goals and so I have this problem PHP and and I basically I i [TS]

00:13:50   think i do roughly the same thing with like you know storing storing the [TS]

00:13:54   attributes of of a model object as a dictionary of no strings to value of [TS]

00:13:59   values and his keys match the database icon names and you know there's all [TS]

00:14:05   sorts of things you can do by the way I love it if marilyn is actually listening [TS]

00:14:09   to this and if he still listening I'm getting him back so hard for all that [TS]

00:14:12   comic book tour this is glorious so you know it there's there's always this is [TS]

00:14:23   one of the reasons why I like doing this kind of programming at at this level [TS]

00:14:27   stopping these kinds of problems even even saw million times before even [TS]

00:14:31   though my implementation may not be very good for some people over some things [TS]

00:14:34   are for myself even I love it because it's there's so many design decisions [TS]

00:14:40   that you can make that really do have a pretty big impact so one of the things [TS]

00:14:45   for too much I think it will get a little bit boring even for people who [TS]

00:14:50   aren't Maryland but I think [TS]

00:14:54   one of the things about one of the hardest part about this is like how do [TS]

00:14:58   you how do you expose the database fields on the object and how much colder [TS]

00:15:03   boilerplate has to pee has to be written to like in Indy subclass so in the model [TS]

00:15:10   classes how much do you have to do and how are the counter percent so in my [TS]

00:15:15   thing I actually do a very similar trick to accord and it does because you can [TS]

00:15:20   tell at runtime books I actually don't know why you can tell us run time but [TS]

00:15:24   you can you can tell it run time whether a property was declared dynamic and [TS]

00:15:31   whether rather whether its implementation was declared dynamic and [TS]

00:15:35   and whether you know it has custom getters and setters all that stuff is [TS]

00:15:40   available at runtime from the runtime API's so I'm basically making it so that [TS]

00:15:46   you can you can set and get arbitrary column names just buy a dictionary API [TS]

00:15:50   but it also treats any dynamic property as a database com so and then you know [TS]

00:15:56   does in a useful thing so you can have a property that's an NSU ro and if you do [TS]

00:16:01   if you declare dynamic in the rotation file then the runtime will see that and [TS]

00:16:07   so at runtime it'll say any access to and from that is the database field [TS]

00:16:12   named that and then you can just call saved and it works and you can call you [TS]

00:16:18   can call the core functions get them and and that it maps into them on Reid's [TS]

00:16:23   you know it's just it's a very simple model ie no I don't [TS]

00:16:29   this is one of the reasons why I write my own bottle where is that like I don't [TS]

00:16:35   usually like the model layer to have to do that much and specifically like you [TS]

00:16:41   know I treat databases the way that most programmers of previously high-traffic [TS]

00:16:46   web applications treat databases which is infrequently and gently ahead so I [TS]

00:16:52   don't like it and really like crazy you know very high five high functioning [TS]

00:16:59   model type API's where they like go look up associated objects for you and do [TS]

00:17:04   extra queries on your behalf [TS]

00:17:06   and I don't carry builders you know myself so I can choose exactly how it [TS]

00:17:11   screens database and optimize it and I don't like anything that creates the [TS]

00:17:16   tables for me I don't like the core data GUI about the the mall declarations and [TS]

00:17:23   the migrations of migrations are a rough so I'm basically doing something that it [TS]

00:17:32   it is more of a convenience wrapper than a functional rapper if that makes sense [TS]

00:17:36   like it's not it's not doing a whole bunch of magic it's just getting rid of [TS]

00:17:41   boilerplate [TS]

00:17:43   does that make sense it does I guess to me I view a model as the buffer between [TS]

00:17:52   the completely myopic database world and the completely myopic application-level [TS]

00:17:59   into me and I agree with you that model should be extremely dumb it should [TS]

00:18:03   basically be a bucket in nothing else but I I would hate have not having it [TS]

00:18:09   around because I want my application code to speak with classes classes and [TS]

00:18:14   very little else and all my database to speak to itself in some late [TS]

00:18:19   intermediate layer that translates from database to modeling back in and I think [TS]

00:18:23   we're saying the same thing but I i cant when you said I am writing a model and i [TS]

00:18:27   cant believe in doing that senator that's just it struck me funny because I [TS]

00:18:31   would hate not to have one [TS]

00:18:33   yeah so John yeah that's a job where you land on something and Marco said in the [TS]

00:18:42   beginning readers this topic about how he was making his own model class and [TS]

00:18:45   that's probably a mistake and Casey said he thought it was thinking about this [TS]

00:18:51   topic i save a lot of it's kind of like a class system for programmers and maybe [TS]

00:19:01   maybe Marco but I mean it like you know you know maybe Marco has not seen as [TS]

00:19:07   much as Casey has been [TS]

00:19:09   govt job for longer but I see it all the time if the distinctions of all sorts of [TS]

00:19:16   programs based on their experience what language they use with their education [TS]

00:19:19   is it ever and this distinction i think is the most important one much more so [TS]

00:19:23   than any of those things no matter what their education is how long they have [TS]

00:19:26   been doing what language they rioting in I usually tend to Ben programmers into [TS]

00:19:31   two groups one is the programmers who take something that someone else wrote [TS]

00:19:39   and use it to make a program they learn Ruby on Rails and they make a web [TS]

00:19:43   application you know they they learned you like it and in the end I OS [TS]

00:19:48   applications and those people distinguish between the Magical Elves [TS]

00:19:55   that make the things are going to use to write their program and their program [TS]

00:19:59   and the second set of people make no distinction between the things they're [TS]

00:20:04   using to write the program and their program it's all one continuous thing [TS]

00:20:07   and those are the people who are going to write their own thing even though the [TS]

00:20:13   vendor provides one or those that are going to write their own web frameworks [TS]

00:20:17   of their own blog engines or like you know in the extreme case their own [TS]

00:20:20   language like its complete continuum and there's no hard and fast line between [TS]

00:20:24   these are the words that I typed making a program work and this is my program [TS]

00:20:28   you know like I don't know if you wanna call to build myself have to be that [TS]

00:20:32   type of thing but there are some people who will never cross that line in every [TS]

00:20:36   in every environment they find themselves in programming they will draw [TS]

00:20:40   that distinction somewhere in say that is other and I don't do that and that is [TS]

00:20:43   magic and I call these things to make my program work and in my program is a [TS]

00:20:47   series of conditionals in loops and variables in class or whatever they use [TS]

00:20:50   that thing to do their work and I think that that distinction is like a [TS]

00:20:58   provision right there tomorrow class being afraid to like and to try and draw [TS]

00:21:04   that line in like using as a barrier and saying I shouldn't cross over the line [TS]

00:21:07   one is like practicality like it maybe you should write your own language and [TS]

00:21:10   compiler to do this you know [TS]

00:21:11   calculator program or something right so that's one side by side of his I see a [TS]

00:21:16   lot of people who draw that line and are afraid to ever cross that everyone [TS]

00:21:18   starts with outline what you're doing you start out [TS]

00:21:21   right but I encourage everybody who thinks they can recognize that line to [TS]

00:21:25   realize the line doesn't exist it's all just one big continuum of code written [TS]

00:21:29   by people and there's no reason you can't write a better one of whatever it [TS]

00:21:33   is that you're using all up and down the chain and in some cases you should [TS]

00:21:36   obviously you know like knowing when you should remind you shouldn't is a whole [TS]

00:21:41   separate matter but never like it you know I wouldn't like it if this is a [TS]

00:21:46   reason not to do it not because like all I'm gonna screw it up and just people [TS]

00:21:50   who made those things are like at a certain point there's other people to [TS]

00:21:53   write you know like just another guy and you know you're good at doing some like [TS]

00:22:00   that is they decided I'm gonna make my own thing here and then do your thing [TS]

00:22:04   might not be as good but the fifth version of your thing will be as good [TS]

00:22:07   and then you've just become one of those people in that line is gone so that's my [TS]

00:22:12   take on this whole on the demerit topic to topic for a minute it up again and [TS]

00:22:17   I'm double medic and as for the things that the actual things you're all [TS]

00:22:22   talking about their I don't wanna go simpson's did it on you but I you know I [TS]

00:22:26   was doing since instead it right so all the stuff myself accountable in the [TS]

00:22:30   world and the path that I've traveled and I think a lot of the pro communities [TS]

00:22:35   travel in the same day same topic is kind of you know in the beginning [TS]

00:22:43   you've got a way to Cincy Calgary somewhere and that's annoying and [TS]

00:22:47   someone write some nicer way to wrap that up and that's nicer than you're [TS]

00:22:51   like ok when I wanna make some like classes associated with things that are [TS]

00:22:54   gonna be associated tables and it's kind of annoying to write all that which [TS]

00:22:58   fields are associated with columns and cyclic marco was going to how much do I [TS]

00:23:02   have to write like after you done ten or twenty those things at a certain point [TS]

00:23:05   in like can I type blessing at the same effect right and then the less likely [TS]

00:23:11   you know that the ActiveRecord rails type thing we're like 10 have type [TS]

00:23:14   anything can just inspect the database and figure out what all the columns are [TS]

00:23:18   into a list for me and say look I can type of 19 my whole thing is not right [TS]

00:23:22   and you know you could just see you can probably do that I'd like to see if you [TS]

00:23:28   really want to get down and dirty with the injectors here on time will you [TS]

00:23:30   probably don't but [TS]

00:23:32   you know just don't don't have anything to inspect the database figure out the [TS]

00:23:36   classes make your clothes make your feet on the table many classes based on now [TS]

00:23:40   have a thing that manages the conventions for naming and also the crap [TS]

00:23:43   you know and I think the next step beyond that which I found probably the [TS]

00:23:50   biggest leap like that the first biggest leap was the one where you get into the [TS]

00:23:54   race to see how the typing you can do useful work done in the second biggest [TS]

00:23:58   leap i think is when you get to the point where you realize that time your [TS]

00:24:02   classes are structured database tables is a terrible idea at like not just like [TS]

00:24:07   in terms of the field names but structurally period because maybe [TS]

00:24:10   doesn't happen in small projects are products of a single developer but in [TS]

00:24:14   large projects and big companies that evolved over many many years [TS]

00:24:18   inevitably the structure databases almost no relation to the way you want [TS]

00:24:21   your application to work like not at all not on the table bases not own anything [TS]

00:24:25   like it just ridiculously diversion and in some ways you could say well that's [TS]

00:24:28   bad because things are diverging and they're getting on my stop but sometimes [TS]

00:24:32   it's necessary because the way if your data structured has to evolve in a [TS]

00:24:36   direction for performance reasons it has no bearing whatsoever how you would like [TS]

00:24:40   to deal with it in your application so I think the next step in the sequences to [TS]

00:24:43   give yourself tools to get your data in the database but make sure you don't tie [TS]

00:24:49   any of you guys are calling model objects hate that term you don't try any [TS]

00:24:54   of the inner workings every application to the structure or storage location or [TS]

00:24:58   anything having to do with the stuff in the database you still need some tool to [TS]

00:25:01   make it seem like a million lines of code every time I get a database thing [TS]

00:25:04   you know [TS]

00:25:05   inflate your values and your objects and data objects and all that nice stop and [TS]

00:25:09   you still want to be able to do to not have to type that you click Load but you [TS]

00:25:14   have to make it you have to make another bike box on the graphics and this is my [TS]

00:25:18   code because the crap on a database this is what created from the data in the [TS]

00:25:22   database and those two are pretty much entirely unrelated so it actually helps [TS]

00:25:27   and development of innovative ace and other studies have text files I was [TS]

00:25:32   talking to hardcode suffer like the rest of your application don't care because [TS]

00:25:35   it deals with things that have no relation to the storage location or [TS]

00:25:39   structure of the thing and sometimes even when you doing projects all that [TS]

00:25:42   good for you to say [TS]

00:25:44   this is the correct table structure which you know who like just doing [TS]

00:25:47   database stuff you know what you are going to fishermen indexes you need what [TS]

00:25:49   things should be normalized not but when AM application it would be convenient if [TS]

00:25:53   the structure is very like this make the things that your application deals with [TS]

00:25:57   look the way they're most convenient for the application deal with men have some [TS]

00:26:00   sort of layer which is sometimes annoying to write but it will save you [TS]

00:26:04   later some sort of like that translates between the two in sometimes byzantine [TS]

00:26:07   ways so that that i think is a case where all the things that are met with [TS]

00:26:15   reflection coming at every level that existing you make it like makes it can [TS]

00:26:18   be a database that meets metadata and then the next thing you make that takes [TS]

00:26:22   the data from the database and puts it into the things that your application is [TS]

00:26:27   going to deal with like your applications idealized view of the world [TS]

00:26:30   that doesn't reflect the possible nastiness of the database because of [TS]

00:26:33   weirdness that needs a metadata to let things you don't write that code up all [TS]

00:26:38   by yourself and then finally your application for top-level think it's a [TS]

00:26:42   deal with objects look like that are you know magically delicious that are just [TS]

00:26:44   like wow this is exactly what I needed for this for my application it is you [TS]

00:26:50   know it's your idealized view of the world wouldn't it be great if we just [TS]

00:26:53   had three objects and they did this and you're like it so hard to do that when [TS]

00:26:56   your experience far as you think but i cant that object can exist to do that [TS]

00:27:00   because I know that's going to be on these two tables miss invasions from a [TS]

00:27:03   third table and and so you end up making things that are you know tied here to do [TS]

00:27:07   it so that's that's more or less the path I've walked on this topic in pearl [TS]

00:27:13   and in other languages and its effect on people like Andy Oram backlash was like [TS]

00:27:19   the RMS like it the ActiveRecord phase and you get to that place and you [TS]

00:27:22   realize you're kind of in a dead-end you've done a terrible thing but you're [TS]

00:27:25   not really like you've created something useful but you you know you need [TS]

00:27:30   something else as well so you know everything that you've done is is [TS]

00:27:37   helping you move forward this just another place where you can also move [TS]

00:27:40   stuff yeah I think you're right though that there's always this this kind of [TS]

00:27:53   battle between the the objects are fully abstracted from the data and the [TS]

00:27:58   messiness or the structure of the database one of the things that I think [TS]

00:28:04   court data does a little bit badly for my taste is it it's it's too much on [TS]

00:28:10   that object side where core data even though it is based on a database storage [TS]

00:28:16   engine and in many ways behaved like a database in many ways it doesn't let you [TS]

00:28:22   treat it like a database and so you're kind of it like like there's a there's a [TS]

00:28:27   whole class of operations that in court that are very easy to do and database [TS]

00:28:31   things like a lot of things involving multiple records or batches our range of [TS]

00:28:35   things like that things that coordinate either can't do very well can't do it [TS]

00:28:39   all [TS]

00:28:40   trying to give you the idealized version but now let me say anything about you [TS]

00:28:46   don't worry about the database you just tell us how you under the idealized view [TS]

00:28:49   of the world your application and we'll just persist that and you like really I [TS]

00:28:53   would like to have some influence on the process because I have some ideas that [TS]

00:28:57   you may find interesting [TS]

00:28:58   exactly and and for analog lot of times it's also necessary for performance you [TS]

00:29:04   know when you when you have an app that's just that has like a ton of data [TS]

00:29:07   or that has you know maybe one table 11 object type that has a lot of entries [TS]

00:29:12   and they're all very small to me wanna do something like that kind of thing [TS]

00:29:16   because you sure your data so because you know like the seven queries their [TS]

00:29:21   applications can run most of the time you know what will make those Korea's [TS]

00:29:23   festival not make them fast and coordinated as far l'amore gives you no [TS]

00:29:27   way to to influence the way it stories don't like you just make your [TS]

00:29:31   convenience object graph and you have to kind of like either kind of guests are [TS]

00:29:34   into it or understand enough about tornadoes in relation to how it's gonna [TS]

00:29:37   lay that out and have to know what operations does according to make [TS]

00:29:40   available and what will that translate into another will those be efficient and [TS]

00:29:43   that's like you would rather just you know like I know these are going to [TS]

00:29:46   somehow I bet applications probably just run like you know three possibly [TS]

00:29:50   performance critical care is all the time and it's just that look or did it [TS]

00:29:55   just do this this is all I want everything else to do but these are the [TS]

00:29:58   three essential questions like how do I will structure for you you don't worry [TS]

00:30:02   about so small applications are fine but anyways [TS]

00:30:05   vocational it that's all I continue to coordinate locations but a certain point [TS]

00:30:09   native applications starting out the day not web-scale but the timing is much [TS]

00:30:15   more critical in devices are slower to a certain point even a native application [TS]

00:30:19   you would like to have that kind of influence which is why you know how you [TS]

00:30:23   keep coming back to doing their own thing with Rossi polite because then you [TS]

00:30:28   have control over exactly because you know you have you have the sequel on one [TS]

00:30:32   side which is super light however you say I'm never answered every different [TS]

00:30:36   you shouldn't let me pull you into my way of saying I like isn't officially [TS]

00:30:41   something like SQLite yeah I don't know the official and you may ask you we're [TS]

00:30:48   going to that thing you have that on one side and that doesn't know anything [TS]

00:30:54   about objects [TS]

00:30:54   about you know your objects in your code like it's totally just raw there is no [TS]

00:30:59   attempt to even you know to even do anything higher level than just database [TS]

00:31:04   roads and that's it then the other end you have core data which is all about [TS]

00:31:10   the object and their mappings and it it doesn't expose anything about the [TS]

00:31:15   database and pretend that the database isn't there to you know to you the user [TS]

00:31:19   of it and so my thing is kind of in the middle and actually do intend open [TS]

00:31:27   source as I'm running of the attention of open source of it and and brand to be [TS]

00:31:30   a stand-alone piece so it can be but I do it and maybe just maybe later this [TS]

00:31:38   fall but you know I might think I want to be in the middle of a continuum [TS]

00:31:44   because I feel there isn't there are enough choices there and what's there a [TS]

00:31:49   lot of what's there is basically a whole bunch of people like me making the [TS]

00:31:53   things for themselves to vary with varying degrees of success varying [TS]

00:31:56   degrees of people using it and reporting bugs and varying degrees of [TS]

00:32:00   functionality and it's not like to do apps like it if you're the kind of [TS]

00:32:04   person who can make one of these model layers or or something like this [TS]

00:32:10   the chances that you're gonna be happy enough with somebody else's to want to [TS]

00:32:13   use to use their instead of making your own is pretty low [TS]

00:32:16   and so you know for me you know I I'm doing my own thing like I usually do [TS]

00:32:22   sometimes good sometimes bad head and say I'm making this thing kind of [TS]

00:32:30   between single item korda and I'm going to use it and we'll see what happens I [TS]

00:32:36   guess I think in a native applications hanging out there like small small but [TS]

00:32:42   like you're not writing system for a product that's gonna have seven [TS]

00:32:49   incarnations like it you know if you if you are making me think of something [TS]

00:32:53   like Gmail not LinkedIn maybe Facebook maybe some sort of big giant web service [TS]

00:33:00   used by millions of people that has 10 different ways to interface with it even [TS]

00:33:05   just within their own company if you that's where you really want to have [TS]

00:33:08   your have your data access layer and then above that have your object layer [TS]

00:33:12   may give you the idealized representation and then have a whole [TS]

00:33:16   bunch of other people in the company or whatever [TS]

00:33:18   writing business logic riding automation things running stuff and all they ever [TS]

00:33:22   uses the idealized view of you know the product which has an ever changing [TS]

00:33:28   relationship with how things are actually story you saw that you're [TS]

00:33:32   isolating the whole rest of the people you know I just talked about this line [TS]

00:33:35   between the people who are right I think people are using the thing individual [TS]

00:33:39   programs shouldn't say that line but if you're trying to scale up a company it's [TS]

00:33:42   a good idea to have people building at various layers and you want everyone [TS]

00:33:46   who's this writing you know a bunch of reports that run or a bunch of jobs that [TS]

00:33:50   do maintenance stuff for the people who write the web front end of the people [TS]

00:33:52   who write the native app you want all those people to be using an interface [TS]

00:33:57   that has almost no relation to the implementation of you could possibly [TS]

00:34:00   help it and then another set of people dealing with how that you know idealized [TS]

00:34:05   view of the product interfaces with the datastore back and they're going to have [TS]

00:34:08   to change the use different day stores in a rearranged up they can do normalize [TS]

00:34:12   tables are gonna rename things are gonna do different versions of tables and you [TS]

00:34:16   don't want anyone else to see that but when you're just doing it one native iOS [TS]

00:34:20   application [TS]

00:34:21   with the webservice something especially using a different language for the web [TS]

00:34:24   part of it it's probably not critical that you make this kind of enterprise a [TS]

00:34:28   distinction i I just offered up as like the next evolution of so you've gone and [TS]

00:34:35   done yourself an ActiveRecord to record type thing which Greece database [TS]

00:34:38   structure and build your glasses on the fly according to some convention with [TS]

00:34:41   the plural eyes and also the stock and you're still sad maybe it's because you [TS]

00:34:45   actually want to tell us about something that's pretty awesome and I want to [TS]

00:34:51   speak in favor of coordinated briefly then we can get give up on this probably [TS]

00:34:55   extremely boring topic [TS]

00:34:56   alright trying to hang in there Marilyn this week we are sponsored once again by [TS]

00:35:04   hover hover is high quality no hassle domain registration so they believe that [TS]

00:35:12   everyone should be able to take control of their online identity have your own [TS]

00:35:15   domain name and they make it easy to do so they are for.net cocom TV tons [TS]

00:35:21   country-code teal these you know there's always out there now they're making new [TS]

00:35:27   ones however keeps adding them it's great so they take all the hassle and [TS]

00:35:33   friction out of owning and managing domain names now I I bet everyone [TS]

00:35:37   listening to the show is probably very nice to have our domain name in the past [TS]

00:35:40   and if you borrowed the main anywhere else I imagine you were not that happy [TS]

00:35:45   with the experience because I have bought them in a lot of places and [TS]

00:35:49   they're pretty rough [TS]

00:35:53   most of the places a pretty rough however is to me like a breath of fresh [TS]

00:35:57   air like they are just so easy they're honest they don't try to upsell you with [TS]

00:36:02   all sorts of weird sleazy stuff there's no like a checkbox on checkout that's [TS]

00:36:07   like don't not stop sending me the newsletter that doesn't sell my privacy [TS]

00:36:11   for $10 a month like there they don't try to mislead you they don't try to [TS]

00:36:14   like get all sleazy in and get more money out of you it's just honest direct [TS]

00:36:18   straightforward domain sales and aeration system is very good to you know [TS]

00:36:22   they it's it's well-designed there's there's easy access to all the features [TS]

00:36:26   they offer and they do offer quite a lot and in fact they actually just added [TS]

00:36:31   something new they added Google Apps for Business [TS]

00:36:33   you can add Google Apps for Business to any demand from however new or old [TS]

00:36:38   demands they even give you a free 30 day trial on that and then prices are $6 a [TS]

00:36:44   month per user [TS]

00:36:46   it's really great so anyway I dot com slash ATP you can use promo code ATP to [TS]

00:36:52   get 10% off and you should of course you should do that i mean I used ants [TS]

00:36:56   Formica Trevor you can use ours [TS]

00:36:59   US-brokered att.com to get 10% off any two main purchase any service purchase [TS]

00:37:06   however the great company really they have they even have like they have no [TS]

00:37:09   food no hold phone service you just call them Monday through Friday 8:00 a.m. to [TS]

00:37:14   8:00 p.m. Eastern and you'll be speaking to a live person they will just pick up [TS]

00:37:18   the phone and there's a person that's not a bot you don't have to say [TS]

00:37:21   representative track a package none of that stuff although such a terrible day [TS]

00:37:26   know that too [TS]

00:37:27   they don't do it they get you only human it's it's just great to go to Harvard [TS]

00:37:32   dot com slash ATP Dr next to me and use promo code ATP for 10% off thanks a lot [TS]

00:37:37   for sponsoring the show so to briefly speak in favor of core data so my really [TS]

00:37:45   crummy although soon-to-be not crummy since it's all street you I kids it's [TS]

00:37:48   gonna be my really crummy iPhone app which I wrote basically as an exercise [TS]

00:37:54   to teach myself how to write an iPhone happened that's allowed its called fast [TS]

00:37:59   tax to be and it's embarrassing and iOS 6 but it's going to be brilliant and I [TS]

00:38:03   was seven because I'm going to change virtually nothing at all just like [TS]

00:38:06   magical and pretty but in case the app doesn't do a whole heck of a lot the [TS]

00:38:13   point is to do one thing really quickly and that Sendak and text message to the [TS]

00:38:17   ideas you probably app you say you want to send it to which is presumably list [TS]

00:38:22   of people that already set up what message would want to send me back up [TS]

00:38:25   their backwards I think I did I haven't used it a couple days but anyway the [TS]

00:38:29   point is you pick who you pick what can you say go and that actually uses core [TS]

00:38:33   data and that is actually a really really great use of core data because [TS]

00:38:40   candidly it's very very simple it's two entities it's a total of like [TS]

00:38:44   10 attributes between the two entities and it worked really well and one of the [TS]

00:38:49   things I like so much about it was that when I decided to add support for [TS]

00:38:54   sending messages to email addresses as well as just phone numbers I had to add [TS]

00:39:00   comment if you will and attribute to say well as this thing and email address or [TS]

00:39:06   number and obviously to parse out whatever the point in driving out there [TS]

00:39:11   was that I had to do according to migration and to be honest for me [TS]

00:39:14   because this was such a simple use case it actually worked really really well it [TS]

00:39:18   was really nice and I said in Xcode hey wanna make a new version of this model [TS]

00:39:24   here's what's different about it and I wrote a couple of lines of code in my [TS]

00:39:27   app delegate to handle it and everything just happened [TS]

00:39:31   magically and I've actually had no real issues with core data but to be fair [TS]

00:39:36   this is an extremely simple use case and to me I think that's what's great this [TS]

00:39:41   is quoted as bread and butter is to do something really simple all I want [TS]

00:39:46   wasn't way in which I can persist very small object graph and that's like out [TS]

00:39:51   of the book which I would look up at the developer for always up it's like how [TS]

00:39:55   did the book exactly what it is meant for so I agree with what you're saying [TS]

00:39:59   that in a lot of ways coordinators this really big scary abstraction that you [TS]

00:40:02   don't want to just relinquish her life to so to speak but for me it worked out [TS]

00:40:06   really really well you could've just used properly Alice I mean not just the [TS]

00:40:11   property of us back end of Cordoba like a literal profit like the volume of you [TS]

00:40:15   basically made like the sample application they would have you make no [TS]

00:40:21   I mean like the corn and apart like you know two entities like not a lot of them [TS]

00:40:25   I mean I don't know how many text messages take your applications are not [TS]

00:40:31   going to start 10,000 can text messages to the purpose of the application [TS]

00:40:35   quickly so like yeah you could have gotten away with the property is in fact [TS]

00:40:39   that's what a lot of people did absolutely i mean there's certain point [TS]

00:40:43   it becomes ridiculous but absolutely right now a lot of fast tax a lot of the [TS]

00:40:48   purpose of it was and a series of Engineering lessons and exercises for [TS]

00:40:53   myself [TS]

00:40:54   and part of the reason I used for data was just gonna I wanna see what it's all [TS]

00:40:58   about so everyone complains moans about it I can say oh yeah you know I [TS]

00:41:01   understand why you're saying that and and I could complain and moan with the [TS]

00:41:05   next guy but for me it actually worked out really nicely and I know you should [TS]

00:41:09   have plunged program sooner you can mention your program and I never [TS]

00:41:11   bothered looking but it wasn't I looked upon it was like something about this [TS]

00:41:15   week in my college that's a useful program you shouldn't you know I don't [TS]

00:41:18   know if there's a hundred other programs out there to do that and obviously don't [TS]

00:41:21   send text messages to people so that's why I'm not in that field but that's [TS]

00:41:25   exactly I think that would be a common category of program that can text [TS]

00:41:30   message sender well I don't know if it's comment but it was it was actually it's [TS]

00:41:35   funny hearing Marco talked about a lot of the things that he's talked about [TS]

00:41:38   both in building analyzing here it was a very funny exercise an interesting [TS]

00:41:42   exercise for me because I I'd love to be able to just magically invent the next [TS]

00:41:47   Instapaper and be able to do something [TS]

00:41:50   independently and and right now you have any competition exactly but I'm driving [TS]

00:41:56   it is it'd be cool to to not work for myself but I feel like I need that [TS]

00:42:01   magical idea and so flashback to I think was I was four when I wanna say MF [TS]

00:42:06   message compose new controller whatever it is basically they added the ability [TS]

00:42:10   for an app to send text messages and so I found that out at WTC which causes [TS]

00:42:16   2011 doesn't matter I found out of that WBC that other gonna do this now like I [TS]

00:42:21   know what I can do with that and so I had to figure out how do you build and [TS]

00:42:28   ship the app in in order to I wanted to be in on day one of Iowa's for and so [TS]

00:42:33   the reason I think it's so funny is because in the smallest littlest way [TS]

00:42:39   this was Casey sized exercise and doing the sorts of things that that many of my [TS]

00:42:45   peers do for a living and that I had an idea and I needed to execute and I [TS]

00:42:50   needed to execute a certain date not unlike what say underscore did with feed [TS]

00:42:54   Wrangler and it was just a very funny thing and that's why it was a really [TS]

00:42:58   rewarding because I was able to get this little appropriately sized view of the [TS]

00:43:03   world that alot of my my good friends and peers and I that's kind of a side [TS]

00:43:09   note but I was it's fine it's it's a very simple out but it's very useful I [TS]

00:43:14   use it all the time so if you didn't write that Apple into the App Store like [TS]

00:43:18   if you look at the competitors are there other applications that their well-known [TS]

00:43:22   one that most people use that I know about it I was into texting I don't know [TS]

00:43:26   if there's a well-known one i mean it's because there's no Instapaper of the [TS]

00:43:29   market if there if there is I don't know it's me honest and I've never taken the [TS]

00:43:34   app was not a money-making venture in fact I probably put a couple hundred [TS]

00:43:38   dollars into it that I haven't gotten out I mean I've gotten a checkup gotten [TS]

00:43:42   checks from Apple for it but I have spent more between the hundred dollar [TS]

00:43:46   annual developer account and paying 40 bucks whatever was for a passive [TS]

00:43:51   expressed to hand draw the world's worst icon I was pretty proud of it to be [TS]

00:43:59   honest but it but if I sell its pretty damn thing that's good thank you for not [TS]

00:44:08   letting downtown now but you know like that actually is what speaking of you [TS]

00:44:13   know applications that that is a lot of the time what separates the application [TS]

00:44:18   that someone makes and like barely makes back its money and developer fees and [TS]

00:44:22   the one that does is putting in a little bit of extra money for her designer into [TS]

00:44:28   your icon and like getting the UI to look nicer like window-dressing [TS]

00:44:33   marketing type not marketing in terms of like paying money to advertise like when [TS]

00:44:38   someone sees your page what is the impression they get an apple hammer [TS]

00:44:40   since like raising WEC like the first impression selling gets when they glance [TS]

00:44:44   at your application is no reflection on the functionality of kitchen because if [TS]

00:44:49   there are a lot of these applications and can text messages whats going to [TS]

00:44:53   differentiate them is like the one that liked make someone feel good to have it [TS]

00:44:56   on their home screen feel good to launch it and use it every time they do they [TS]

00:45:00   feel good about that experience that's why I was seven such an opportunity [TS]

00:45:02   because allegations of you used to feel good about using now they will not feel [TS]

00:45:07   as good with you look older [TS]

00:45:11   you know and strange or whatever so that could have been all that separated you [TS]

00:45:15   from perhaps not Instapaper little success but at very least you know being [TS]

00:45:21   in the black instead of the red on lifetime for this application is just a [TS]

00:45:25   nicer icon a little bit nicer you I know you're absolutely right and some [TS]

00:45:29   screenshots with the puppies in there something you're absolutely right again [TS]

00:45:35   this was more was written in order for me to be able to myself and say you [TS]

00:45:41   don't want you did get something the App Store and even if everyone around you [TS]

00:45:45   thinks it's a flaming turd at least you can say you know what one way or another [TS]

00:45:49   that's mine and I did that and I wrote it at a time where I barely could write [TS]

00:45:53   hello world in Objective C and that's not to say that unstable and whatnot and [TS]

00:45:57   I'm driving at though is that it was a really great exercise to teach myself [TS]

00:46:02   this entire pipeline and I'm really glad I did it and I keep it there to be [TS]

00:46:06   honest if if I'm really candid I keep it there more as kind of a trophy to for [TS]

00:46:13   myself you look at what I was able to do and and everyone else who may have seen [TS]

00:46:18   it is listening may or may not be laughing about all that but I'm ok with [TS]

00:46:21   that because I'm so proud of it even though it looks like crap and I was six [TS]

00:46:25   but wait for Iowa seven it's going to be great I'm watching it is just climb the [TS]

00:46:30   ranks tonight as all two hundred and four Life leaders go out and buy it [TS]

00:46:34   something or if you have a Casey self-esteem sale where you don't buy to [TS]

00:46:39   use it to acknowledge casey's trophy it's fun and I got within four with my [TS]

00:46:46   iOS idea when they announced the SDK which was a joke tip calculator which I [TS]

00:46:51   wrote about half and then I see what I've said this before I wish I knew [TS]

00:46:58   there would be a busy enough because it's like five minutes to write and sure [TS]

00:47:02   enough there were busy [TS]

00:47:03   and the name of the application is it doesn't things which is probably [TS]

00:47:07   copyright infringement on seinfeld the US the joke about us have you heard of [TS]

00:47:13   it does other things yes have you ever seen Seinfeld yeah I think I've seen all [TS]

00:47:18   the news that line from let us forget what the context was any way you can [TS]

00:47:26   google for it doesn't think seinfeld find out it's not that funny which is [TS]

00:47:29   another reason why the application does not appear on this story but that's you [TS]

00:47:32   know I mean I I bailed out because I saw the writing on the wall but I would have [TS]

00:47:36   liked to have just gotten through the process there is a no go through the [TS]

00:47:39   process of working out application that does what I want to do then I i read in [TS]

00:47:46   these double that amount of time to get over it feel like now i cant chip is too [TS]

00:47:53   boring looking and then by that point eight thousand dollar typically come out [TS]

00:47:57   too late I would love to see you shipping up to anything I mean I don't [TS]

00:48:02   care what it didn't do I would just love to see like what you consider shippable [TS]

00:48:07   cause I honestly I'd be so I'd be shocked if you ever ship something like [TS]

00:48:11   that in public like I guess your reviews are are even larger scale a much larger [TS]

00:48:17   scale receptacles for feedback let's say people have opinions and they they offer [TS]

00:48:25   them on a training is much worse than putting on out I mean like when I get on [TS]

00:48:28   the open source code if at all the world's most of the prototype on CBS [TS]

00:48:32   from you is just terrible because there in years and years ago and I leave it up [TS]

00:48:36   there because like like somea be useful or whatever but it's kind of difficult [TS]

00:48:41   thing about working in a regular job trying to open source stuff to you have [TS]

00:48:47   something that you can like show as like here is an example of my cope by open [TS]

00:48:50   source stuff at this point I don't look at that time you like best the best [TS]

00:48:54   thing I can do everyone a job interview be like here is some sample code from an [TS]

00:48:58   open source projects and let me tell you what's wrong with it as a demonstration [TS]

00:49:01   of how I'm grown since I wrote this thing that's actually yeah but if you [TS]

00:49:08   want to show them is like here's my shipping out like that's what you know [TS]

00:49:11   to get a job and a place like look [TS]

00:49:13   this happen I'm also in the app is awesome hire me and I players who you [TS]

00:49:17   know in the door so to build on the thought of you [TS]

00:49:22   shipping something that people can see since you're a celebrity in the little [TS]

00:49:26   bubble in which we live [TS]

00:49:27   does that if you had a really good idea do you think that would prevent you or [TS]

00:49:31   scare you off but I'm always looking for a good idea since they won the tip [TS]

00:49:38   calculator you know like that's like me looking for an idea my my brothers also [TS]

00:49:42   constantly trying to look for an idea I had hired he's trying to look for to get [TS]

00:49:46   rich quick idea and I'm so much to be like that I would talk to him 90 [TS]

00:49:51   homepage for a line on the show I don't think but it may be the ultimate idea [TS]

00:49:57   where you have you have no money at risk no time really easy to do [TS]

00:50:01   makes money makes everybody happy was involved with the project is amusing to [TS]

00:50:05   people who are not involved with the project like that's that's pretty much [TS]

00:50:08   the best example of that I'm Rajab ever seen in my life and it doesn't always [TS]

00:50:13   happen quickly found ways to make money in the App Store [TS]

00:50:16   scummy and scan me and make people sad but that's not what we're looking for [TS]

00:50:20   and of course you can make money like the old-fashioned way by making good app [TS]

00:50:23   which is pretty hard not to but I'm out if I ever had an idea for a Mac App even [TS]

00:50:29   like it and I was your Mac up by an idea for an app that didn't exist that I [TS]

00:50:34   would like that I thought I could write I would do it but that stuff never comes [TS]

00:50:37   together you know it's always like to add a 313 but that's not directly [TS]

00:50:42   answering my question which is let's say you had this great idea and you fell at [TS]

00:50:46   least moderately confident that you could do at least moderately passable [TS]

00:50:49   job with the fact that you're mister hypercritical scare you away from no not [TS]

00:50:55   at all I mean if anything that should provide like a fountain of infinite [TS]

00:51:00   ideas because you can look at any app you use any app you ever need to use and [TS]

00:51:06   you can see if I did it it would be different in these ways to I wanted to [TS]

00:51:11   have it you think I would be capable of actually doing a better job thoroughly [TS]

00:51:14   wanna do it do have you noticed how much time it takes to make real operation [TS]

00:51:18   it's a big commitment to its I really good really need to be like something [TS]

00:51:22   like oh I've got [TS]

00:51:23   like that's it would have to be like that not just simply no I think I can [TS]

00:51:27   make a better one of those because it just takes so much time and I like any [TS]

00:51:31   notoriety might have would encourage me not discourage me because although all [TS]

00:51:35   that would translate to is like look for every every time point of Internet [TS]

00:51:39   notoriety I have that is one extra point on you know on the pond sales [TS]

00:51:44   possibilities right like it's not fair but that's the way it works like if [TS]

00:51:48   people know who you are to begin with then they'll know about your application [TS]

00:51:52   only say yes I should like up with the weariness and everything that use it [TS]

00:51:56   yes that would be the reason I would be doing it but it just would have to be a [TS]

00:52:00   fire and her mother like look like it was for you at buckshot look I just need [TS]

00:52:04   to Stop occasion to exist and we're at the point where you can read all that [TS]

00:52:07   often a week like I'm not that point so it has to be real I have to just be like [TS]

00:52:11   look I cannot sleep until I read this application because my ramp-up time of [TS]

00:52:15   significant starting from zero even that though like yeah I mean for me it was [TS]

00:52:19   like I'm experienced developers so it didn't take me that long to do all this [TS]

00:52:23   stuff the icon even accidentally made itself and then even that app I said I [TS]

00:52:29   I'll spend a couple of days doing this app that's all I can really justify [TS]

00:52:34   spending on it cuz it's going to make you know I 20 bucks a day for the next [TS]

00:52:37   two years you know so I can't justify doing a whole lot more on this app just [TS]

00:52:41   a few days of work so I get back to my my other stuff and a few days became [TS]

00:52:46   like 10 days like it was like seven days to build version one and then I got a [TS]

00:52:51   break while being approved and then within a few days of being released I [TS]

00:52:56   was working on 1.1 to fix all the bugs that everyone found and a couple of [TS]

00:53:00   minor enhancements and that took a couple more days so all in this is you [TS]

00:53:04   know almost two weeks solid for this app and you know and and I should clarify [TS]

00:53:10   the chatroom yeah it's gonna be 20 bucks a day maybe like you know maybe for the [TS]

00:53:16   next couple of months after that it might be a good time for 3000 and this [TS]

00:53:22   is not a joke and I probably shouldn't share this publicly but whatever I am [TS]

00:53:26   genuinely excited when I get a nap in the email and the number on it is [TS]

00:53:29   anything more than 0 [TS]

00:53:30   like awesome I just sold something to someone that's really exciting days [TS]

00:53:37   nothing shake your fist and I know you said that jokingly but that is not know [TS]

00:53:40   that I mean that I like what like when I made nursing clock last year the [TS]

00:53:46   breastfeeding timer I i released the head and even that took a little bit [TS]

00:53:50   longer than I thought it would even the Napa had almost no effort into it all [TS]

00:53:53   that took a few days to really polished and make it releasable any shape and [TS]

00:53:58   even that over its entire life it made i think seventy dollars and it wasn't it [TS]

00:54:04   wasn't a whole lot and I even ended up pulling it down after about six months [TS]

00:54:09   or so because there was somebody had tipped me off there was a patent troll [TS]

00:54:14   going around suing or threatening to sue people who made child care related apps [TS]

00:54:19   and even though mine was not wouldn't have applied for the patent applied we [TS]

00:54:26   all know that doesn't matter how I just like you know what this app is made like [TS]

00:54:30   $70 and six months it's not even worth the risk of having a potential come out [TS]

00:54:36   so I just put it down [TS]

00:54:38   posturing innovation exactly we should get to that actually but first let me [TS]

00:54:42   tell you about our second sponsor of this week is a new sponsor but you might [TS]

00:54:46   have heard of them recently another awesome shows and blogs they are 23 and [TS]

00:54:51   me so 23 me it's a pretty cool service it's a little hard to explain but here's [TS]

00:54:58   the gist of it they are a DNA profiling service and so or so here's what you do [TS]

00:55:06   you give them a basically they send you work it you give them a saliva sample [TS]

00:55:12   and you not like there's no blood volume saliva sample you sent it back in the [TS]

00:55:18   provider return package the lab analyzes it and then it gives you a full report [TS]

00:55:23   about what about you know stuff about you so here's the gist of it they give [TS]

00:55:28   you the tools to better understand how your genes may impact your health so [TS]

00:55:33   this helps you and your doctor find health areas to keep an eye on them over [TS]

00:55:38   two hundred and forty personalized health treatment ancestor reports [TS]

00:55:42   and they can help you understand your genetics so they give you any [TS]

00:55:46   information you can you can discover your global origin you can you can find [TS]

00:55:49   like if you have any like celebrity relatives they will give you a list of [TS]

00:55:52   celebrities that you can also find other living relatives through their analysis [TS]

00:55:58   they will be a quarter million members so this makes it the largest DNA [TS]

00:56:04   ancestry service in the world and so the chances of them finding something cool [TS]

00:56:07   about you are pretty good so anyway it includes a few fun points 2 goals like [TS]

00:56:14   how closely related you are to me and the excuse me they even can tell why you [TS]

00:56:21   may not like cilantro thats there's a gene for that they can tell you how [TS]

00:56:25   quickly you metabolize coffee which of course is cool for me to know so anyway [TS]

00:56:32   you can order your 23 and media make it today for just $99 at 23 @ me.com / ATP [TS]

00:56:39   at 23 and meet a number twenty-three in the words and me.com / ATP check it out [TS]

00:56:46   it's pretty cool and just a really great way for you know just to take a look at [TS]

00:56:52   your DNA and you learn some cool stuff about yourself [TS]

00:56:55   thanks a lot 23 and me for sponsoring the show is the Opera cotton avocado [TS]

00:57:01   asparagus pee smell gene is that it genetic thing or is that not everybody [TS]

00:57:06   know I mean it's a lot of asparagus and what I but I heard from third and was [TS]

00:57:13   like there was it was genetically related and that the people with the [TS]

00:57:16   gene made the piecemeal and they get some people without the gene therapy [TS]

00:57:23   today and they couldn't smell the other people's money P I thought he always [TS]

00:57:28   smells but only some resumes I mean I don't know I know nothing about one is [TS]

00:57:33   terrible here we go here to go 2023 meed.com / help / asparagus metabolites [TS]

00:57:40   detection of me has got it covered and it is really sad said aaron is a biology [TS]

00:57:48   teacher I could have asked her she was home at the moment but she is not [TS]

00:57:52   a good thing 23 meeting let us down anyway that's what else we talking about [TS]

00:58:01   you want talk about ask patents at all [TS]

00:58:05   John before so this was a strange sight that was made like months and months ago [TS]

00:58:12   as an attack me last year while a long time ago was the brainchild of Smokey [TS]

00:58:18   and the stock exchange guys in cooperation with the us- patent office i [TS]

00:58:22   believe even for from the get-go it's a stocking streamside like stackoverflow [TS]

00:58:26   whatever you ask questions or whatever but this one is meant to collaboratively [TS]

00:58:31   find prior art for patents so some of us to patent and other people try to lookup [TS]

00:58:36   priority foreign posted as the answer so basically the implied question all the [TS]

00:58:39   news here's a patent is there some priorities are and then you know anyone [TS]

00:58:44   can post an answer like oh here's the park service whatever and the goal of [TS]

00:58:48   the site was to be like ok well we all know that these plans are stupid trying [TS]

00:58:52   to patent things that shouldn't be patentable but it's really difficult [TS]

00:58:55   apparently for the US Patent Office to do the research necessary to find the [TS]

00:58:59   prior art even though I can we look at it like you just call the graphics [TS]

00:59:04   programmer than ask them and they'll tell you anyway and so that's what how [TS]

00:59:09   does this post to work and finally I think they got this is their very first [TS]

00:59:13   confirmed case where a patent was posted someone found an answer and the patent [TS]

00:59:18   was invalid and in the invalidation of the patent by the person the US Patent [TS]

00:59:22   Office they cited directly this answer on this site and Joel did the answer and [TS]

00:59:27   joe said it took like 10 minutes googling to find part because again it's [TS]

00:59:29   not hard to find products that the patents are awful right [TS]

00:59:33   journalists are called victory lap ask patents describing the sequence of [TS]

00:59:37   events and saying basically look this took me 10 minutes googling if you hate [TS]

00:59:40   patents in your you know it's offered to help or whatever [TS]

00:59:43   come onto our side kick a patent that you think it's stupid Google for a prior [TS]

00:59:47   art pasted in there and wait for the incredibly slow wheels of government [TS]

00:59:52   turn and six months later maybe that patent invalid and of course this is [TS]

00:59:56   Microsoft patent and they're appealing so who knows how it will [TS]

00:59:58   end up coming out but the interesting pitt plays into the show notes at the [TS]

01:00:04   joe says that his dream is that companies will hear about this site and [TS]

01:00:08   using offensive against other companies because if like Apple or Google Earth [TS]

01:00:12   Hour dedicates like one or two people to just go on that side and and look for [TS]

01:00:15   patterns that Google is applying for and spend 10 minutes to go fine apart from [TS]

01:00:20   them that it will become like you know spencer defensive end everybody finds [TS]

01:00:24   everything is good to have big patent portfolio but if each company also had [TS]

01:00:27   an offensive wing who all they did was watch their competitors and watch for [TS]

01:00:31   the Superdome patents that they apply for and invalidate the mall by finding [TS]

01:00:35   prior art that would be a good sort of mutually assured destruction scenario [TS]

01:00:39   where a large companies prevent each other from having terrible times of [TS]

01:00:44   course this is not the actual solution a solution would be from here maybe the [TS]

01:00:47   us- patent office could do this work is that you might harm Dec 10 minutes ago [TS]

01:00:50   and of course my position is that no patents that exists ever for anything [TS]

01:00:54   but anyway every little bit counts so I'm excited that at least one patent has [TS]

01:01:01   been at least if not then possibly delayed its trip to being a super dumb [TS]

01:01:07   patent so good job Joel and stack change its so called the singing that that that [TS]

01:01:13   ask parents even exists and ended the USPTO kind of encouraged it or at least [TS]

01:01:18   as is being friendly with it [TS]

01:01:22   there is of course no there there is that great question of you know joel is [TS]

01:01:26   a programmer and he could look at the stuff from from this Microsoft and he [TS]

01:01:31   cited and you know any others that you look on there and he said like you know [TS]

01:01:35   he assumed going into this that it would be pretty hard to to read pens and to [TS]

01:01:39   figure out what they are and who invited them but in fact once I started trying [TS]

01:01:42   to do it that was easier than he expected and it only takes a few minutes [TS]

01:01:47   to read about to reopen and into opposed to me going to do about how to read [TS]

01:01:51   patents in 60 seconds cuz they they all try to be very obvious skated to try to [TS]

01:01:56   get granted and try to try to get past any potential conflicts or duplicates or [TS]

01:02:01   to try to become more over-reaching otherwise would have liked that they did [TS]

01:02:06   it go for obfuscation to attempt to confuse the [TS]

01:02:10   patent examiners but the problem is you know if if one working programmer and [TS]

01:02:17   granite joel is a good and knowledgeable programmer but still if one programmer [TS]

01:02:21   can look at a patent application and and see kind of see through it that quickly [TS]

01:02:27   why doesn't the patent office why can't they do something similar quite like if [TS]

01:02:34   they can say yeah we can have some graphics programming techniques why [TS]

01:02:38   can't they either have or contract with graphics programmers to look at any [TS]

01:02:43   graphics related patents like that it's just I'm really glad ask patents exists [TS]

01:02:48   and obviously it needs to exist but why it needs to exist as kind of a problem [TS]

01:02:53   this is a government agency and they don't like that hiring money you can't [TS]

01:02:57   pay graphics programmer and their outsourcing the part that you know that [TS]

01:03:01   they they can't be done at scale because there's a limited number of patent [TS]

01:03:05   employees they just those employees only know about patents and there nothing [TS]

01:03:09   about you know the domain areas and the same token Joe could not have written [TS]

01:03:14   that ridiculous document that you know codifies the invite the rejection of the [TS]

01:03:19   patent Joe could not have written that because that requires the lawyer-like [TS]

01:03:23   expertise the people in the patent office in like what form you have to do [TS]

01:03:26   things and one what is a valid rejection and what must you like that's the skill [TS]

01:03:30   that they're bringing to the table you know that to be able to navigate this [TS]

01:03:35   legal aid lawyers like you know you may have an intuitive feel of you know [TS]

01:03:41   what's right and wrong and had approved things but if you're not a lawyer you [TS]

01:03:43   don't know how to actually do it right so this is just fine if you like the [TS]

01:03:48   look you find me the prior art and then the us- patent offices will take it from [TS]

01:03:51   here so you did that part of the work for us we'll take that and probably [TS]

01:03:55   spend ten times as much time doing this stupid legal use dance and this formal [TS]

01:03:59   document structure to reject the patent and bring it through this building [TS]

01:04:02   bureaucratic just try clicking through to their rejection he's like explains [TS]

01:04:06   how to find the rejection is like the preliminary draft projection finalized [TS]

01:04:11   for my trying to read it it just you know not penetrate even the rejection of [TS]

01:04:16   the patent let alone that is something that that had a dependency second is [TS]

01:04:19   good because it tells you just ignore everything go right to the second look [TS]

01:04:22   at these three things [TS]

01:04:23   gone it's it's a broken stupid bureaucratic system that doesn't work [TS]

01:04:29   right and this does not make it better like the security but if anything that [TS]

01:04:34   stops crappy patents from getting granted is a good thing so and this was [TS]

01:04:39   just you know like sort of the community trying to make government better maybe [TS]

01:04:44   not against their will but certainly like what we're here to help you in [TS]

01:04:47   government saying okay we will accept your help in this matter and then it [TS]

01:04:51   producing at least one actual result was a brilliant idea if people are into it [TS]

01:04:56   but it it seems to me that it's tough to get people into it said differently you [TS]

01:05:02   know here it is the the patent office is sorta kinda reaching out to the [TS]

01:05:06   community and saying haiti people who are experts in these things that patents [TS]

01:05:11   are going to help us find this priority but the key is at their annual we're [TS]

01:05:15   experts [TS]

01:05:16   joel is an expert at least you could easily argue as such and i dont know how [TS]

01:05:21   the patent office works internally but I got to imagine they don't have an expert [TS]

01:05:24   for every darn field of patentable stuff under the Sun and so it it strikes me as [TS]

01:05:30   a brilliant idea but I'm not sure that when I get bored on a weekday evening [TS]

01:05:36   night I'm gonna sit there cruising for patents to shoot down the radio he's [TS]

01:05:40   like who is actually sufficiently motivated to use the Site and who [TS]

01:05:45   savagely motivated are the companies who get patents because they may have a [TS]

01:05:49   financial incentive to prevent Apple has a financial incentive to make every [TS]

01:05:53   single Google patent Google files be invalidate right and vice versa cool as [TS]

01:05:57   that same motivate you know so if you can get these big companies with tons of [TS]

01:06:01   money to put even a few people on this it's so easy to do because you're going [TS]

01:06:05   to be invalid and pans in like in a demanding to know that Apple probably [TS]

01:06:08   knows about the demands to Google's gonna file patents and vice versa [TS]

01:06:11   because they're both in the same industry get all these guys to instead [TS]

01:06:14   of spending all their energy patenting everything under the Sun take part of [TS]

01:06:18   their energy because now they suddenly they have been employees used to be [TS]

01:06:21   you had no way to get your other guys patents invalid it yet to wait for them [TS]

01:06:24   to be granted rejected then you could try to validate the court where is now [TS]

01:06:27   at the patent office is like look we're willing to accept some help here this [TS]

01:06:32   pattern has been applied for here's the application [TS]

01:06:35   and Apple goes out and finds prior art and headed off the pass like I do I [TS]

01:06:40   don't know if these companies are actually gonna do that but they're the [TS]

01:06:42   ones who have both the motivation and the skills to do this I think would be [TS]

01:06:47   gradual because I had all patents and like I said nothing that would cure this [TS]

01:06:51   whole problem is just to eliminate the entire patent system and office and all [TS]

01:06:54   the employees and all the legal framework and everything involved with [TS]

01:06:57   it I would also cure this problem and solution but that would actually promote [TS]

01:07:01   innovation people don't wanna hear that so but anyway like you know you don't [TS]

01:07:05   hit that that's fine we'll start with this this would be fun to both you and I [TS]

01:07:10   i believe separately argued on our respective 505 podcasts couple of years [TS]

01:07:14   ago I think we both argued that basically the entire patents should be [TS]

01:07:19   abolished is is that I mean that the fact that all the stuff is necessary is [TS]

01:07:27   an end I think what bothers me about it in a knot not to go too deep into the [TS]

01:07:33   system should be just that would be a horror show but I think what bugs me so [TS]

01:07:38   much about it is like this is it a problem that just cannot be soft well [TS]

01:07:43   like it is just so like the patent office can't be expected to get [TS]

01:07:49   everything right but they get things wrong a lot and the ramifications of [TS]

01:07:55   that in the market are so incredibly destructive i mean it like whatever [TS]

01:08:01   benefit patents are providing to people I have to imagine there's an equal or [TS]

01:08:06   greater amount of harm that they're causing especially in the field of [TS]

01:08:09   software and it just seems like there's just no good solution to this but I am I [TS]

01:08:15   am very well that ends at least attempting to it is improving it in in [TS]

01:08:22   one small way and let my objection was less practical more ideological I don't [TS]

01:08:26   think there's any reason you should have a monopoly rights to an idea . like it's [TS]

01:08:30   not as if like you know what if the patent office was perfect in every [TS]

01:08:34   respect no such thing there is no right there is far as I'm concerned there is [TS]

01:08:38   no right to monopoly on an idea that you come up with no matter how awesome that [TS]

01:08:43   I did period the end and so that if if that's your position [TS]

01:08:46   that's my position obviously there's no such thing as a patent office that that [TS]

01:08:50   works its just know it it's an office that only works if not exists because [TS]

01:08:54   it's enforcing a right but I don't think is valid thing that you should you [TS]

01:08:58   should just you shouldn't get a monopoly on an idea you shouldn't ever the end [TS]

01:09:01   but you know there's a huge continuing down to the pragmatic it sound like I [TS]

01:09:05   think you should but it's impossible to correctly therefore should be gone all [TS]

01:09:08   have to like oh I think it should be gone for software because there's no [TS]

01:09:11   such thing as a software patents this all math and everything's turned [TS]

01:09:14   completely blood like and business process patents shouldn't exist and [TS]

01:09:17   whole grains and I talked about in my shower went to right for the jugular [TS]

01:09:21   which is like 20 patents on drugs which everything's alright you hear all the [TS]

01:09:25   other patents but we need these because otherwise no one will ever do any [TS]

01:09:27   research and data cure disease and I talked about it like there we should [TS]

01:09:30   rehashed here but anyway that's a terrible [TS]

01:09:34   kids get them doesn't mean we're done it seems like a pretty good place tend to [TS]

01:09:42   me yeah I think so all right thank you very much to our to sponsor this week [TS]

01:09:46   however and 23 and me and we'll see you guys soon [TS]

01:09:52   now the show they didn't even mean to be in accidental accidental john Kasay [TS]

01:10:08   and you can t be L A T Marco [TS]

01:10:51   I just sold something to someone if your gonna make fun of me so much less dirty [TS]

01:10:58   way of doing it has that was me talking about how excited I am that whenever I [TS]

01:11:03   see you a singular sail fast i text someone tried to do JavaScript injection [TS]

01:11:07   I appreciate the end of those they stand for the JavaScript automatic semicolon [TS]

01:11:14   surgeon say no to put it explicitly so it's not confused and yes the people who [TS]

01:11:20   wrote this robot application have minimal competence of web programmers [TS]

01:11:23   has not been given all the websites that I see they won't let me type telephone [TS]

01:11:33   numbers with hyphens and them apparently apparently the bar has been raised about [TS]

01:11:40   american express where the maximum character for a password is 88 like [TS]

01:11:46   that's probably dictate about their their their COBOL basic mainframe [TS]

01:11:50   enterprise or something but the guys who don't like your type like stuff with the [TS]

01:11:53   phone numbers they want you don't type digits you can type anything else that I [TS]

01:11:57   just want to go to all their houses and find them and be like no one is making [TS]

01:12:01   you do this like this this is literally the simplest possible task but a program [TS]

01:12:07   on the web has it is clearly close there are no edge cases all you gotta do is [TS]

01:12:13   just let me type of the numbers not rocket science like nothing no task is [TS]

01:12:19   easier than every other part of accepting that forms admission is higher [TS]

01:12:22   than that one task and yet being Fortune 500 companies will have forms the [TS]

01:12:26   delicious how many things have numbers and the like but you put alerts [TS]

01:12:30   automatically backspace to feel like the automatic backspacing code that's more [TS]

01:12:33   complicated than stripping out the stuff that's just it boggles my mind that this [TS]

01:12:37   goes on and I went to a regular people think you don't know like that is [TS]

01:12:40   literally the easiest thing in the entire world of a program to do with it [TS]

01:12:43   was like oh I can see how to do this when this item must be really secure so [TS]

01:12:48   let me tell you a story that that we cannot put in the show has really [TS]

01:12:51   embarrassing which means it's probably doomed to be in the show when I [TS]

01:12:54   and I are getting married I wrote in PHP and I think was my first PHP app I wrote [TS]

01:13:00   a website that that would like guests you know register RCP among other things [TS]

01:13:06   and good friend of mine his surname has an 'n it and I noticed after he [TS]

01:13:12   registered because I had this like totally weirdo setups where I would [TS]

01:13:16   email my phone to send my phone a text message back when that was still a thing [TS]

01:13:20   anyways so he registered and everything was cut off as soon as I hit the 'n his [TS]

01:13:26   name because I didn't escape anything cuz I didn't know crap about what [TS]

01:13:29   program it's time in fact I told myself sequel in order to write that cite this [TS]

01:13:33   was in 2007 I was always learning in the client and tell them to people who don't [TS]

01:13:38   learn from the past due I remember the first time I looked at the ActiveRecord [TS]

01:13:41   code in Rails find parameters that the technology that has existed since [TS]

01:13:47   forever and like I just know that makes it go by Carrie the other strings and in [TS]

01:13:55   line all the values and what could go wrong we have an escaping function [TS]

01:13:58   should be fine right that's how they were doing it I believe the first [TS]

01:14:05   version of rails was not using bind parameters and their queries they were [TS]

01:14:07   not they would build the sequel strings out of values you know and like I [TS]

01:14:12   believe they hadn't escaping function of their own devising which would be like [TS]

01:14:16   oh you see is just double it or whatever and if this was an ActiveRecord I'm [TS]

01:14:21   sliding over else when I shouldn't be I'm sorry but he trails with any other [TS]

01:14:27   type of thing I see it all the time of like people who write database code in [TS]

01:14:32   the modern era this year and don't know that by members existing just bravely [TS]

01:14:37   plow forward Casey to know you know escaping with something you might wanna [TS]

01:14:41   do but the people who like that I find more excusable then the people who know [TS]

01:14:46   that you have to escape so they write their own escape from they still feel [TS]

01:14:49   like this is the best way to do it like this once you know it's a problem you [TS]

01:14:52   would think you sent three seconds googling like oh I see this is a problem [TS]

01:14:55   import and I but there's some sort of technique to not have it anymore [TS]

01:15:01   look that up with people on this is not an eight-year languages may be kind of [TS]

01:15:07   is that you find it had either one of you ever heard of this dot net equipment [TS]

01:15:12   but I cargo in your things you can do so I was probably like you know the system [TS]

01:15:15   call the word system sells out to the right have you ever had to do that just [TS]

01:15:21   like not gonna happen I don't think you can do it and I probably forbidden but [TS]

01:15:25   at any rate people who do that like no you know you don't come to a part of the [TS]

01:15:33   program I mean Apple itself probably does it have already Mac apps back on [TS]

01:15:36   the Oprah sandbox news they'll build the strength and they'll pass that strange [TS]

01:15:40   system right and when you're building a string or do you have to do the [TS]

01:15:45   following a space that has caused him i right now I can go through the same [TS]

01:15:49   thing it's like people you're in steel like this a million functions that you [TS]

01:15:54   can use to fork and exec the take like a list of variable you know previous [TS]

01:15:58   methods that the take variables the plan was you don't need the shell to parse it [TS]

01:16:02   for you don't understand you can bypass that you're in a program your program [TS]

01:16:06   you can write code just as the United I mean Apple itself doesn't like their pro [TS]

01:16:11   stuff and I go if you're if your hard drive name has a space and then him and [TS]

01:16:15   you have one has the same man without the prefix for the space of two leaders [TS]

01:16:19   like iTunes installer the debtor may be with the myth to install a couple that [TS]

01:16:25   various times in the same is the same exact problem is the sequel things but [TS]

01:16:27   they're like I will just build a big long string of passing through what [TS]

01:16:31   could go wrong instead of it basically what you have is a list of values and [TS]

01:16:37   they said yeah but every time I see this as the values among normal life is one [TS]

01:16:41   big long strings on making into a string and then give it to something that will [TS]

01:16:44   break into list that I already had one of the strengths yeah I know that [TS]

01:16:52   progress in certain areas but to make progress not by teaching people the [TS]

01:16:56   right way to do things that make it so they never had to do that thing again [TS]

01:17:02   John I love when you get fired up after the show however I didn't get talked [TS]

01:17:08   about Minecraft months something that's gonna be angry I'm trying to mellow out [TS]

01:17:14   now gotta get a little under control no don't don't don't get talk about let's [TS]

01:17:20   talk about Laura before the next show whatever that maybe you should be forced [TS]

01:17:27   to install Minecraft and several miles on behalf of if you don't need one of [TS]

01:17:33   you has a child of the age to come play minecraft maybe just like borrow one for [TS]

01:17:36   the weekend and had them ask you to install Minecraft mods they want and [TS]

01:17:40   just spend a week in doing that they knew also be sufficiently angry for us [TS]

01:17:44   to have an awesome minecraft mod anger episode occasion if I get bored while [TS]

01:17:50   I'm on vacation I will do is find a neighborhood kids come over my house and [TS]

01:17:55   then install Minecraft mods that's not creepy at all your wife do it so now I [TS]

01:18:03   gotta get I getting it into your eyes and say just pretend you're into [TS]

01:18:06   Minecraft mass-market hey I saw this school thing could you install Minecraft [TS]

01:18:10   mods for me cuz when your wife as he was just as bad [TS]

01:18:13   although I don't wanna play minecraft is more of a good thing but actually TIFF [TS]

01:18:19   try to I I've never played Minecraft snoring but but if actually played it [TS]

01:18:24   for like one night and just didn't really do much but she didn't live from [TS]

01:18:29   when I like a few bucks a month ago but I really I'm kind of scared you know [TS]

01:18:34   like I don't have to try heroin to know that I probably should never try her [TS]

01:18:39   right leg so I know enough about like hard drugs and their addictiveness to [TS]

01:18:46   know that I should never even attempt them crushed clause welt both so same [TS]

01:18:54   things like when I heard the game is like super addictive and like takes over [TS]

01:18:58   people's lives like I don't have to play it i dont have im not let me try that no [TS]

01:19:02   I'm like you know what I don't want your wife to identify I scared her away with [TS]

01:19:09   with with man candy crush [TS]

01:19:11   so so so test phone had it was it iPhone 5 had a feeling sleep-wake but which I [TS]

01:19:19   guess is a very common problem and so I took it I took it to the Apple people [TS]

01:19:22   and they spotted and so great come up with a new phone every and we packed up [TS]

01:19:27   and it did the whole synced locally to iTunes like that morning every app all [TS]

01:19:34   the music all the photos the entire teaching everything restored perfectly [TS]

01:19:39   except candy crush for whatever reason can you crush did not restore just was [TS]

01:19:45   not there on the phone so TIFF has lost her progress and candy crush and this is [TS]

01:19:51   this is out of service so the way she's been playing it you know like when we [TS]

01:19:59   first heard about it I believe from Amy Jane Gruber on one of her various [TS]

01:20:03   podcasts I saw or somewhere Twitter or something that I I got the impression [TS]

01:20:09   that it was extremely addictive and that it could just take all your money [TS]

01:20:12   because you could just anything like buy your way out of time limits at all in [TS]

01:20:16   all the crap that the free-to-play BS games do and say I was like I do not [TS]

01:20:23   install again because he'll take all the money it like just suck away everything [TS]

01:20:27   we have everything we've worked for it all the money will be gone so to prove [TS]

01:20:33   that I was wrong about that TIFF has played the entire game not spending any [TS]

01:20:37   money and and intends to continue that way but apparently it's pretty hard game [TS]

01:20:43   and it's pretty hard not to spend money which is why they make so much so she's [TS]

01:20:49   gone she's like spent hours this week playing this game and and now it's [TS]

01:20:55   restored and gone and of course they don't use any kind of iCloud or games or [TS]

01:21:00   any that of course they don't do anything right in programming thing to [TS]

01:21:04   actually make it keep your progress no doubt that would cost too much money [TS]

01:21:07   that would cause people to not buy upgrade so of course they don't do that [TS]

01:21:10   because game these days my rent [TS]

01:21:14   thanks a lot program but yes so i i wonder how this is gonna play out now [TS]

01:21:22   you can shop to buy her way out of this if I'll have to buy her way out of it [TS]

01:21:25   out of guilt for somehow not having this thing synched with just that out she [TS]

01:21:29   wants to bang your head against a very difficult to play applications super [TS]

01:21:33   hexagon are possible road or something which do not ask her now purchases but [TS]

01:21:37   will nevertheless frustrate her for a lifetime [TS]

01:21:41   madness whose alarms going off that's that's over here and there is like my [TS]

01:21:48   car wash is closed [TS]

01:21:49   think it's me and I want my windows are closed to you know all those all those [TS]

01:21:56   times that I played Marble Madness after having spent $40 on it being so [TS]

01:22:01   disappointed how much it sucks my Genesis all that time the game only has [TS]

01:22:06   six levels yes six levels for $40 I never beat it [TS]

01:22:11   level 6 it the whole game is really really hard at level 6 is just like it's [TS]

01:22:15   so ridiculous I just I could not ever beat it like a supermodel call for your [TS]

01:22:22   game to be able to play GameCube games that is the probably the most difficult [TS]

01:22:27   console game that i played and enjoyed because no I haven't played Dark Souls [TS]

01:22:32   people listening [TS]

01:22:33   games are more forgiving now than they were just having like progress saving [TS]

01:22:39   that he's a massive massive ease jump in a separate doesn't mean you might have [TS]

01:22:51   heard of them played every play super hexagon know what was that for for [TS]

01:22:55   making yourself feel incompetent you know what [TS]

01:22:59   yeah and you should get it just because I think it's a really well done game [TS]

01:23:08   that has really nice music that you have seen this if you hear you will hear [TS]

01:23:12   three seconds before you die [TS]

01:23:13   yeah I seen this idea I played it for about eight seconds and then you are not [TS]

01:23:17   continuously made seconds cumulatively all all all if you could stay live 48 [TS]

01:23:22   seconds that would be something I don't i dont like games like this like any [TS]

01:23:26   like I also never cared for like games like Canabalt and anything that's like [TS]

01:23:32   just fast action just go until you die or anything like that I I just don't get [TS]

01:23:37   discouraged so quickly and easily from these games like you should never play [TS]

01:23:41   New Super Monkey Ball don't like it has easy level so it's fun it's fun to play [TS]

01:23:46   like that the only game like that I have been motivated enough to play be like it [TS]

01:23:50   starts you know it's not so easy I go to spawn and it's interesting it was nice [TS]

01:23:53   to look at [TS]

01:23:54   music and mentally challenging but the difficulty just goes on forever and it [TS]

01:23:59   is certainly one of those games where in america you are as human beings [TS]

01:24:02   exception of seven people in the world that you will reach the limits of your [TS]

01:24:05   ability but only after a satisfying trail up to that level instead of just [TS]

01:24:09   like how to place immediately you suck now from from second 0 yeosock a [TS]

01:24:16   possible role as I think it actually I have played enough to know its probably [TS]

01:24:21   a little bit harder than super hexagon but I can't really tell Marco of you did [TS]

01:24:25   you get into tiny wings when that was popular now I've seen it I think I [TS]

01:24:30   played on someone else's phone or something like that one like I've never [TS]

01:24:33   played cannibal an obscene amount of people's phones but I like time I don't [TS]

01:24:37   hear that often but I like it like there was some kind of like skiing version of [TS]

01:24:43   that I played for like an hour one time but that like i just i i dont have the [TS]

01:24:48   patience to like once I get going really far and one of those games and I die and [TS]

01:24:54   start over again like I just don't care I'm so discouraged by having to start [TS]

01:24:59   over again at that point and playing the exact same thing over and over again [TS]

01:25:02   even if it's like a little bit varied from like random generation of [TS]

01:25:06   procedural stuff i cant even then I just [TS]

01:25:08   hate going back that's what one of the reasons why I was playing through vice [TS]

01:25:11   city with no actually GTA 3 playing through it and I almost beat the game [TS]

01:25:20   but there is one mission where it took like 15 minutes to do the mission and it [TS]

01:25:26   was a timed thing where you had to do it within 15 minutes and I kept getting [TS]

01:25:30   within like 10 seconds of succeeding and just barely missing it and I get stopped [TS]

01:25:34   playing a game like I just never proceeded past that point out after like [TS]

01:25:38   a few days of ban on that mission and doing at like seven or eight times and [TS]

01:25:41   failing every single one I just got done that's it I get everyone back it was it [TS]

01:25:48   was the it was a missionary driver and ran across all the coffee stands in like [TS]

01:25:52   seven different parts of the town I bet everyone playing GTA GTA 3 probably [TS]

01:25:57   remembers that mission and possibly stop playing it so this is what one of the [TS]

01:26:01   rights of passage of anyone who will eventually come to identify themselves [TS]

01:26:04   as a gamer is that everyone eventually meets the game with the frustrating [TS]

01:26:08   level or the the difficult things they feel like they never going to get past [TS]

01:26:11   and people who vote later in life call themselves a gamer get through that and [TS]

01:26:18   be considered like a personal triumph and move on from it and once you've done [TS]

01:26:21   that once you realize that there is nothing in the game that I can do I can [TS]

01:26:28   always persevere it's just a question of doing it like it's not like it's not [TS]

01:26:32   like a value judgment like if you decide your time is better spent doing [TS]

01:26:34   something else then find a ride on the same like the people who do you make [TS]

01:26:38   that decision to say you know what I'm going in this totally inconsequential [TS]

01:26:41   place where there's no reason for me to do this there's no reward waiting for [TS]

01:26:45   the end of it no one's gonna care that I did it I'm just a low near my house I've [TS]

01:26:48   decided you know what I'm going to do this and eventually you do do it it's an [TS]

01:26:52   amazing feeling and gives you like a belief in yourself that it shouldn't be [TS]

01:26:57   this like all you did was you press buttons on the controller like this has [TS]

01:26:59   no bearing on succeed in life or anything like that but it feels amazing [TS]

01:27:03   right and that's that's the great thing for people who are gamers that's the [TS]

01:27:07   amazing thing about games like super hexagon is because it takes that gamer [TS]

01:27:11   sense of thinking that there's nothing you can't beat and saying you know [TS]

01:27:16   actually here try this [TS]

01:27:18   and it's the hits like for one set of people like this is a new experience [TS]

01:27:22   because at this point every challenge to have come across I've had been able to [TS]

01:27:25   surpass so it's it's going to bring some people to say I have reached my limits [TS]

01:27:30   as a human being [TS]

01:27:31   number I realize now after years of experience of being things that this is [TS]

01:27:35   one place that I I can't go any farther and then at first even smaller [TS]

01:27:39   percentage of people it's gonna make them initially think that in they are [TS]

01:27:42   gonna do and they're gonna be like I am now God there is it like it's it's like [TS]

01:27:48   if you after you've had drugs in hours like you've got a tolerance right and [TS]

01:27:52   the only way for you to get any sort of highest to get in the situation that is [TS]

01:27:56   basically impossible and either be defeated and had that be novel sensation [TS]

01:28:00   or break through anyway and be like there's now nothing I can do you know [TS]

01:28:03   you are very far at the end of that spectrum having friends there any is [TS]

01:28:09   there any game experience you've done where you feel like there's no way I'm [TS]

01:28:12   going to be this you forgetting to put the game down to put away for six months [TS]

01:28:14   and eventually say you know what I'm gonna be bad you come back to it [TS]

01:28:17   six-month gap in any kind of thing where you feel like you've heard decide about [TS]

01:28:20   this is impossible [TS]

01:28:22   this is unfair there's no way to get this game but then have eventually [TS]

01:28:26   gotten through oh yeah definitely like that and that's usually the outcome I [TS]

01:28:30   don't usually give up on the game completely but they're just like certain [TS]

01:28:33   things just like anything that especially that that just wastes tons [TS]

01:28:37   and tons of time doing the same thing over and over and over again in order to [TS]

01:28:41   get to the point that I keep failing that that's that's part of the [TS]

01:28:46   experience of course they do that of course I guess that most extreme cases [TS]

01:28:50   the ones where there was no saving right like the whole thing would be like that [TS]

01:28:53   you'd spend five hours a week and getting to the place where you dial dial [TS]

01:28:57   dial the time so I like your your you know your code compile debug cycle is [TS]

01:29:02   like four hours long [TS]

01:29:04   like you do the math your head like how many tries it gonna take me and it each [TS]

01:29:08   time I do the try and then eventually can you get up to that level anymore [TS]

01:29:12   downward spiral where you're not even getting halfway through the place where [TS]

01:29:15   you gonna die anymore you have to take a break from like that's the whole like [TS]

01:29:18   that's what I'm talking about the whole experience and that's just how it works [TS]

01:29:22   and that that's what games are generally where you get something to savor some [TS]

01:29:25   other way to do it but yeah back in the day to play those NES game [TS]

01:29:29   was like I was a bionic man alone we had to shoot a missile hitler in a [TS]

01:29:33   helicopter as you flew by I'm on the screen like you know thirty frames a [TS]

01:29:37   second and you guys think one shot in the first time it happened you had no [TS]

01:29:40   idea was coming and I we get closer to home game again to get up that one [TS]

01:29:44   senior manager I was there was a different age CIA had a terrible horror [TS]

01:29:49   story with the NES as I had on Wednesday Dragon Warrior that was like original [TS]

01:29:54   not the result of PC but was one of the first RPGs and he asked and Casey please [TS]

01:29:59   email him now don't really but anyways I got I wanted to say please don't email [TS]

01:30:04   me that the highest level you can get you in like 25 and i got up to level 21 [TS]

01:30:09   or something like that and then my little brother and to this day I'm not [TS]

01:30:12   sure if he was being an ass she was did it accidentally but he erased my save my [TS]

01:30:18   save game or whatever and I never looked at that game again took me hours and [TS]

01:30:24   friendship is still his brother tried to the elements could turn your office like [TS]

01:30:37   if you feel like something unfair it happened like it's not the game it's not [TS]

01:30:40   you write brother and like that's not very likely wouldn't accept all the crap [TS]

01:30:44   this game get there on the internet but now has deleted my save game it's like [TS]

01:30:47   all right that one that one out of bounds [TS]

01:30:52   the reason why I never beat by city is that I was playing it during college and [TS]

01:30:56   my roommates Xbox and when he went home for the summer and like all that they're [TS]

01:31:00   good they're goes that's it [TS]

01:31:02   yeah like if I replace we got we're playing for like months and we we got to [TS]

01:31:09   the Wattpad to be like almost the end of the missions and yeah but like once the [TS]

01:31:14   Xbox eventually becomes like I'm not gonna start over and there was no good [TS]

01:31:19   way for me to get the save game from him and put it on mine like you know that [TS]

01:31:22   that was going to happen I just two games good enough you'd wanna start oh [TS]

01:31:26   if I wouldn't I wouldn't get any pleasure out of like replaying the GTA [TS]

01:31:32   emissions caused solely by like them at the time the first time playing [TS]

01:31:35   throughout like you know getting you know accomplishing those things and [TS]

01:31:38   getting it done but I never want to go back and do this is over [TS]

01:31:41   just so time-consuming and so many of them so tedious [TS]

01:31:45   my favorite movies you know most people like to see their favorite movies more [TS]

01:31:49   than once in their entire life like the top makes their favorite movies to watch [TS]

01:31:53   every month or even every year but your favorite movies like matching I wanna [TS]

01:31:56   ride it like you watching you watch it on TV or you know whatever that is what [TS]

01:32:01   it's like a favorite games games like now here in a play it every month or [TS]

01:32:05   every year whatever but like every five years or so you feel like i play my hair [TS]

01:32:09   again we can cause it's been too long [TS]

01:32:11   yeah so deeply journey through so many damn times and i'm taking a break from [TS]

01:32:17   now this point I do it pretty much on the year anniversary of journey of a [TS]

01:32:20   little bit like my new thing is getting people to play journey I'm spreading [TS]

01:32:23   spreading the love to others it's just two hours so I can get you want to have [TS]

01:32:29   the ps3 already have the game [TS]

01:32:31   yep you were just trolling the nine himself a good experience our journey [TS]

01:32:39   really is a gamer's game though so it could be that it's it's it's like it's [TS]

01:32:43   like a movie fans movie like you know some of the real real big cinephile [TS]

01:32:47   that's the word like movies that they love the jon boat by not love but I [TS]

01:32:51   think Marco I think maybe maybe a crossover hit your journey excuse I [TS]

01:32:59   don't have a ps3 alright well when Marcos done with this is not using [TS]

01:33:05   everything else apparently a very very quick final note I tweeted like you two [TS]

01:33:09   minutes before the show I just filled my car my tank miles per gallon thrift ice [TS]

01:33:13   yeah I saw that I was thinking I would love to get that I was thinking I guess [TS]

01:33:19   I double that by every measure my mouth this right here [TS]

01:33:25   perfectly encapsulates the three of us definitely hurtling cap sleeves are cars [TS]

01:33:30   and there are apparently there is a game called candy crisis for putting this is [TS]

01:33:35   the format is very well known open-source yeah it might have been I [TS]

01:33:42   just been recognized the screenshots look familiar to me [TS]

01:33:46   yeah I mean that I'm there could be more than one of these I don't doubt that [TS]

01:33:51   this [TS]

01:33:51   than 1 I'm totally getting this I'm so good at this game no one and no I'm [TS]

01:33:56   movies I was i feel like im always good at the game that nobody else plays which [TS]

01:33:59   of course that probably is your last call them casual gamers was ok but this [TS]

01:34:04   like like only john is judging you I'm really good mood base commander to a [TS]

01:34:09   movie nobody place right time soon Rubik's Cube that's like one of one of [TS]

01:34:15   my life I'll never get to it ideas is I would love to make moon base commander [TS]

01:34:20   for iPad but it just never gonna happen the first of all even though it was a $5 [TS]

01:34:26   game in like 2001 it's still probably beyond my ability to make as I don't I'm [TS]

01:34:33   not really a game programmer and it would it would be like I'm sure maybe I [TS]

01:34:38   could do it if I don't think else to do for like five years but you know I [TS]

01:34:41   wouldn't it would be a tremendous waste of time for me to try to make it so far [TS]

01:34:45   outside of my forties great kid maybe but games record we write themselves [TS]

01:34:51   images into asset files [TS]

01:34:59   seminars like seeing it [TS]

01:35:04   you cannot make a 3d game with because it's like this writing 3d routes like to [TS]

01:35:07   get you could make it is it isn't it basically is like apples ripoff of [TS]

01:35:13   cookies two years is there more to it I mean basal you've got a car animation [TS]

01:35:18   right so you've got all the makings of a break it but anyone who actually wants [TS]

01:35:21   to make a game out of that is not to be using animation layers this things that [TS]

01:35:24   spread you know collision detection and flowers and plants are never and this [TS]

01:35:30   does that for you like this is just makes it so that you may bring people [TS]

01:35:34   who are thinking of making a game but had no idea how to do it spread can now [TS]

01:35:38   something brings puts their game to the round possibility because it's not like [TS]

01:35:41   you're not gonna make an awesome game that groundbreaking but you're gonna [TS]

01:35:45   make company game variety of work or whatever so it does things that [TS]

01:35:49   frameworks positive words like people who could not make this program before [TS]

01:35:52   now can because smarter people have come in giving them or lower layers on its [TS]

01:35:58   impressive because you actually can make a game out of it like he did in the demo [TS]

01:36:01   they had an actual game not amount of good games [TS]

01:36:03   an amazing game but you look and you know you know what that's fine you know [TS]

01:36:07   someone who who has like the skills to make a game in terms of level designing [TS]

01:36:12   characters I'm but not the skills to make a spring tension now of course the [TS]

01:36:18   best thing about it is it's I was only for those people who do it don't have [TS]

01:36:22   the skills to put the game in the platform platform locked in who you [TS]

01:36:28   should check just washed up some different types of games and I wish I [TS]

01:36:33   could but I can't I don't know it although the foresight to download them [TS]

01:36:39   all today they came out Sunday now have all the space and I finally I finally [TS]

01:36:47   have a large storage and backup things setup of God I have UPS's agree not to [TS]

01:36:52   have any ups and so i i upgraded my main ups for a Mac Pro moved the old one [TS]

01:37:03   into the closet for that and the router and stuff SMT 5800 have fam oh my god [TS]

01:37:08   you and your fans it does have a fan but I think it only uses it when it's [TS]

01:37:13   running on Dec power I like it normally I mean I have to try to pay attention to [TS]

01:37:19   put a lid on the Mac Pros off so I could tell more directly but as far as I can [TS]

01:37:24   tell the fam is not running normally I certainly can notice it next to a Mac [TS]

01:37:28   Pro with no hard drives in it which should tell you something tells me [TS]

01:37:34   nothing I'm hanging up on youtube I gotta pack alright enjoy our beach to be [TS]

01:37:41   honest I'm sorry I have not been in a position to the beach at a time when I [TS]

01:37:45   enjoy drinking alcohol in which I really enjoy every five years I haven't been to [TS]

01:37:51   the beach for more than the beach its hot I hate the feeling the smell and I [TS]

01:38:03   hate I will do anything to avoid using sunblock amen [TS]

01:38:08   block smells like no matter what it gets in my eyes like i matter where I put the [TS]

01:38:15   matter [TS]

01:38:16   how careful I am commercials to cook eggs so hard to make the shells are in [TS]

01:38:24   their eyes poked some blogs get them you know it doesn't if you have the [TS]

01:38:29   competence you cannot get big shells in your eyes your eyes it still smells [TS]

01:38:40   cramping me for all day and then what do you do when you start to sizzle you know [TS]

01:38:46   you have to flip over its like your walk that melting the bottom of your feet of [TS]

01:38:56   water which is now facing what are you going to kill devil hills which is a [TS]

01:39:02   great name for fourteen beach in the Outer Banks nods each hit the water you [TS]

01:39:10   open your you stop clenching your lips shut as hard as possible and suddenly [TS]

01:39:15   all the salt that is higher world is in your mouth and you can't even drink the [TS]

01:39:20   water because all these experiences here describing her the same experiences that [TS]

01:39:25   people who like the beach enjoy but you're giving them a negative spin the [TS]

01:39:30   smell of the salt there the feel of the sand under your feet [TS]

01:39:33   the smell the smell of sunblock even suntan oil cocoa butters [TS]

01:39:39   you you guys where deprived of pardon experiences in your formative years and [TS]

01:39:45   now are in an hour broken adults and the funny part of this entire discussion is [TS]

01:39:50   we met twenty yards from the beach although the difference being that was a [TS]

01:39:54   lake beach I enjoy our gross disgusting smiling water and mud and also we were [TS]

01:40:02   not wearing sunblock we were inside there was no salt there was no sand [TS]

01:40:07   there is no Sun [TS]

01:40:08   programmers and that's what I [TS]