NetNewsWire/Frameworks/Account/AccountTests/Feedly/feedly-1-initial/starred.json

772 lines
172 KiB
JSON
Raw Normal View History

{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"items": [
{
"originId": "tag:blogger.com,1999:blog-8954608646904080796.post-6562845574025332924",
"fingerprint": "57441f5a",
"thumbnail": [
{
"url": "https://1.bp.blogspot.com/-nSjfvVEYsOE/XZ6cEycVw3I/AAAAAAAADTI/UMdV1Seh7R8c0GdV2RgwjuAoJLW47it1gCLcBGAsYHQ/s72-c/074.jpg",
"width": 72,
"height": 72
}
],
"id": "v0v+7Ya8tssIZvd3/pcnFRr3HwvY/5YK3FGc2t65c0Y=_16db6126dbf:685a:d4506071",
"updated": 1570675865985,
"author": "Edward Feser",
"alternate": [
{
"href": "http://edwardfeser.blogspot.com/2019/10/transubstantiation-and-hylemorphism.html",
"type": "text/html"
}
],
"crawled": 1570717724095,
"title": "Transubstantiation and hylemorphism",
"published": 1570675860000,
"origin": {
"streamId": "feed/http://edwardfeser.blogspot.com/feeds/posts/default",
"htmlUrl": "http://edwardfeser.blogspot.com/",
"title": "Edward Feser"
},
"content": {
"direction": "ltr",
"content": "<br><div><a href=\"https://1.bp.blogspot.com/-nSjfvVEYsOE/XZ6cEycVw3I/AAAAAAAADTI/UMdV1Seh7R8c0GdV2RgwjuAoJLW47it1gCLcBGAsYHQ/s1600/074.jpg\"><img border=\"0\" src=\"https://1.bp.blogspot.com/-nSjfvVEYsOE/XZ6cEycVw3I/AAAAAAAADTI/UMdV1Seh7R8c0GdV2RgwjuAoJLW47it1gCLcBGAsYHQ/s200/074.jpg\" data-original-width=\"171\" width=\"151\" data-original-height=\"226\" height=\"200\"></a></div><div><span>One of the key themes of the early modern philosophers\u2019 revolt against Scholasticism was a move away from an Aristotelian hylemorphist conception of the nature of physical substance to some variation or other of the mechanical philosophy.\u00a0 The other day I was asked a very interesting question: Can transubstantiation be formulated in terms of a mechanistic conception of physical substance rather than a hylemorphic one?\u00a0 My answer was that I would not peremptorily say that it cannot be, but that the suggestion certainly raises serious philosophical and theological problems.</span></div><a name=\"more\"></a><br> <div><span>Here\u2019s why.<span>\u00a0 </span>Hylemorphism in its most straightforward version roughly agrees with common sense about which of the things of everyday experience are distinct substances, which are different parts of the same substance, and which are aggregates rather than true substances.<span>\u00a0 </span>For example, it would say that a stone, a tree, and a dog are all distinct substances from one another; that a particular dog\u2019s nose and its right front leg are different parts of the same substance rather than distinct substances; and that a pile of stones is an aggregate rather than a substance in its own right.<span>\u00a0 </span>Of course, use of the term \u201csubstance\u201d in the technical Aristotelian sense isn\u2019t part of common sense, but even untutored common sense would surely involve the supposition that a stone, a tree, and a dog are all distinct <i>things</i> or <i>objects</i>, that the nose and leg of the dog are parts of a larger thing or object rather than separate things or objects, and that a pile of stones is a bunch of things or objects rather than a single object.<span>\u00a0 </span>At least to that extent, common sense would more or less agree with what I am calling a straightforward version of hylemorphism. <span>\u00a0</span>(See chapter 3 of <i><a href=\"https://www.amazon.com/Scholastic-Metaphysics-A-Contemporary-Introduction/dp/3868385444/ref=sr_1_1?ie=UTF8&qid=1391482601&sr=8-1&keywords=scholastic+metaphysics+a+contemporary+introduction\">Scholastic Metaphysics</a></i> for exposition and defense of the hylemorphist account of substance.)</span></div><div><span><br></span></div><div><span>Now, the mechanical world picture that pushed aside the hylemorphist model tended radically to revise the common sense understanding of physical objects in one of two general ways, depending on how mechanism was spelled out.<span>\u00a0 </span>It reduced ordinary physical objects either to mere aggregates of their innumerably many component parts, or to mere modes of some larger blob of which <i>they</i>were the parts.</span></div><div><span><br></span></div><div><span>Descartes and Spinoza essentially took the latter option.<span>\u00a0 </span>Though Descartes is often described as positing a plurality of extended substances alongside the plurality of thinking substances, his considered view seemed to be that strictly speaking, there is only a single extended substance, of which the ordinary objects of our experience are merely modifications.<span>\u00a0 </span>Spinoza more famously took such a position (or rather, he took it that <i>Deus sive Natura</i>was the one substance of which the ordinary physical objects of our experience are all modes).<span>\u00a0 </span>On this view, a stone, a tree, and a dog are not really distinct substances, but merely distinct aspects of one and the same substance \u2013 in something like the way common sense regards the color, weight, and shape of a stone to be mere modes of one and the same object, the stone.
},
"visual": {
"url": "https://cdn.vox-cdn.com/thumbor/qEtBNTmNKQvUro7McqHPXL-2OOM=/0x0:6720x4480/1310x873/cdn.vox-cdn.com/uploads/chorus_image/image/59664621/marshall_majorIII_aniconinthemaking_product_rgb_highres_2.0.jpg",
"width": 1310,
"height": 878,
"contentType": "image/jpeg"
},
"unread": false,
"readTime": 3562,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815",
"label": "Macintosh"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fbdcd69b-7e27-4b6a-bfed-6584b944155d",
"label": "\ud83e\udd1e\ud83c\udffb\ud83e\udd1e\ud83c\udffb\ud83e\udd1e\ud83c\udffb"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1572500351314
},
{
"keywords": [
"Xcode"
],
"originId": "https://nshipster.com/metrickit",
"recrawled": 1572363511019,
"updateCount": 2,
"fingerprint": "9be1d5cd",
"id": "CmHb1hXBWguYpGAhzgwJM9xvPVSYJFbt7KLqF3nqYQ0=_16df9da832d:14579:d4506071",
"updated": 1571641200000,
"author": "Mattt",
"summary": {
"direction": "ltr",
"content": "<p>At WWDC this year, Apple announced a coordinated effort between Xcode 11 and iOS 13 to bring new insights to developers about how their apps are performing in the field.</p>"
},
"alternate": [
{
"href": "http://feedproxy.google.com/~r/NSHipster/~3/o2-j6xKjBrA/",
"type": "text/html"
}
],
"canonical": [
{
"href": "https://nshipster.com/metrickit/",
"type": "text/html"
}
],
"crawled": 1571854910253,
"title": "MetricKit",
"published": 1571641200000,
"origin": {
"streamId": "feed/http://feeds.feedburner.com/NSHipster",
"htmlUrl": "https://nshipster.com/",
"title": "NSHipster"
},
"content": {
"direction": "ltr",
"content": "<p>As an undergraduate student,\nI had a radio show called\n<em>\u201cGoodbye, Blue Monday\u201d</em>\n(I was really into Vonnegut at the time).\nIt was nothing glamorous \u2014\njust a weekly, 2-hour slot at the end of the night\nbefore the station switched into automation.</p>\n<p>If you happened to be driving through the hills of Pittsburgh, Pennsylvania\nlate at night with your radio tuned to\n<a rel=\"noopener noreferrer\" href=\"http://www.wrct.org\"><abbr title=\"Radio Carnegie Tech\">WRCT</abbr> 88.3</a>,\nyou\u2019d have heard an eclectic mix of\n<a rel=\"noopener noreferrer\" href=\"https://beta.music.apple.com/us/album/acoustica/410402556\">Contemporary Classical</a>,\n<a rel=\"noopener noreferrer\" href=\"https://beta.music.apple.com/us/album/a-funk-odyssey/203132910\">Acid Jazz</a>,\n<a rel=\"noopener noreferrer\" href=\"https://beta.music.apple.com/us/album/ma-quale-idea-single/1415038751\">Italian Disco</a>, and\n<a rel=\"noopener noreferrer\" href=\"https://beta.music.apple.com/us/album/kind-of-blue/268443092\">Bebop</a>.\nThat, and the stilting, dulcet baritone of\na college kid doing his best impersonation of\n<a rel=\"noopener noreferrer\" href=\"http://old.post-gazette.com/magazine/20010404mowod4.asp\">Tony Mowod</a>.</p>\n<p>Sitting there in the booth,\nwaiting for tracks to play out before launching into an\n<abbr title=\"Federal Communications Commission\">FCC</abbr>-mandated\n<abbr title=\"Public Service Announcement\">PSA</abbr>\nor on-the-hour\n<a rel=\"noopener noreferrer\" href=\"https://en.wikipedia.org/wiki/Station_identification\">station identification</a>,\nI\u2019d wonder:\n<em>Is anyone out there listening?</em>\n<em>And if they were, did they like it?</em>\nI could\u2019ve been broadcasting static the whole time and been none the wiser.</p>\n<p>The same thoughts come to mind whenever I submit a build to App Store Connect\u2026\nbut then I\u2019ll remember that, unlike radio,\nyou <em>can</em> actually know these things!\nAnd the latest improvements in Xcode 11 make it easier than ever\nto get an idea of how your apps are performing in the field.</p>\n<p>We\u2019ll cover everything you need to know in this week\u2019s NSHipster article.\nSo as they say on the radio:\n<em>\u201cDon\u2019t touch that dial (it\u2019s got jam on it)\u201d.</em></p>\n<hr>\n<p>MetricKit is a new framework in iOS 13\nfor collecting and processing battery and performance metrics.\nIt was announced at <a href=\"https://nshipster.com/wwdc-2019/\">WWDC this year</a>\nalong with XCTest Metrics and the Xcode Metrics Organizer\nas part of a coordinated effort to bring new insights to developers\nabout how their apps are performing in the field.</p>\n<figure>\n<picture>\n<source srcset=\"https://nshipster.com/assets/metrickit-diagram--dark-b7358fa1e9bdf87502044ad241ffcfe5bb904cb7d1bf948d38b0f35b3e93fc59.png\" media=\"(prefers-color-scheme: dark)\">\n<img alt=\"MetricKit Diagram\" src=\"https://nshipster.com/assets/metrickit-diagram--light-0dd5dd5af36c169873c46b2be3155f50aa5ccbfd98a8794bdd5e0d510eb9a42d.png\">\n</picture>\n<figcaption>Diagram from WWDC 2019 Session 417: <a rel=\"noopener noreferrer\" href=\"https://developer.apple.com/videos/play/wwdc2019/417/\">&quot;Improving Battery Life and Performance&quot;</a></figcaption>\n</figure>\n<p>Apple automatically collects metrics from apps installed on the App Store.\nYou can view them in Xcode 11\nby opening the Organizer (<kbd>\u2325</kbd><kbd>\u2318</kbd><kbd>\u21e7</kbd><kbd>O</kbd>)\nand selecting the new Metrics tab.</p>\n<p>MetricKit complement Xcode Organizer Metrics by providing a programmatic way to\nreceive daily information about how your app is performing in the field.\nWith this information,\nyou can collect, aggregate, and analyze on your own in greater detail\nthan you can through Xcode.</p>\n<h2>\n<a href=\"https://nshipster.com/metrickit/#understanding-app-metrics\"></a>Understanding App Metrics</h2>\n<p>Metrics can help uncover issues you might not have seen while testing locally,\nand allow you to track changes across di
},
"visual": {
"url": "https://cdn.vox-cdn.com/thumbor/06e5FJWgUfUSmDaPJIEZoGF1XOs=/0x68:2040x1136/fit-in/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/10378819/DSCF3031.jpg",
"width": 1200,
"height": 628,
"contentType": "image/jpeg"
},
"unread": false,
"readTime": 4744,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366",
"label": "Weblogs"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1572500250190
},
{
"originId": "https://inessential.com/2019/10/22/netnewswire_5_0_3_for_mac_released",
"fingerprint": "2c4d6d88",
"id": "+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16df54dfcca:13322:d4506071",
"summary": {
"direction": "ltr",
"content": "<p><a href=\"https://ranchero.com/netnewswire/\"><img width=\"256\" alt=\"NetNewsWire for Mac icon: globe with a satellite in the foreground.\" src=\"https://ranchero.com/images/nnw_icon_256.png\" height=\"256\"></a></p>\n<p>The main things in this release are 1) enhanced performance and 2) importing subscriptions from NetNewsWire 3 (since it won\u2018t run on Catalina).</p>\n<p>There are also a bunch of bug fixes \u2014 including a fix for the space bar behavior on Catalina \u2014 and there\u2019s a new feature: you can type the <code>s</code> key to star and unstar an article.</p>\n<p>For more details, <a href=\"https://nnw.ranchero.com/2019/10/22/netnewswire-for-mac.html\">read the change notes</a> on the NetNewsWire blog.</p>"
},
"alternate": [
{
"href": "https://inessential.com/2019/10/22/netnewswire_5_0_3_for_mac_released",
"type": "text/html"
}
],
"crawled": 1571778591946,
"title": "NetNewsWire 5.0.3 for Mac Released",
"published": 1571775505000,
"origin": {
"streamId": "feed/http://ranchero.com/xml/rss.xml",
"htmlUrl": "https://inessential.com/",
"title": "inessential.com"
},
"visual": {
"url": "http://www.blogcdn.com/www.engadget.com/media/2013/10/nvidia-shield-console-mode.jpg",
"width": 620,
"height": 340,
"contentType": "image/jpg"
},
"unread": false,
"readTime": 5621,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/66132046-6f14-488d-b590-8e93422723c8",
"label": "THree"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1572500226675
},
{
"id": "AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16db2add61b:afd:a4acdac",
"originId": "58495.pz39s0 at https://www.imore.com",
"fingerprint": "8fe463a6",
"content": {
"content": "<div><div><div><p>An Apple Support rep apparently said, &quot;I do not know how this could of happened.&quot;</p>\n<p><a href=\"https://www.imore.com/apple-card-user-says-he-was-victim-fraud\" title=\"Apple Card user says he was the victim of fraud\"><img src=\"https://www.imore.com/sites/imore.com/files/styles/large_wm_blw/public/field/image/2019/08/apple-card-hero-05.jpeg?itok=IWclhnvc\"></a></p>\n<h2>What you need to know</h2>\n<ul><li>An Apple Card user claims he was the victim of fraud.</li>\n<li>When he contacted Apple Support, they said, &quot;I do not know how this could of happened.&quot;</li>\n<li>Apple Card touts an extra level of security with no numbers and no CVV.</li>\n</ul><p>When Apple Card debuted, one of its biggest draws was Apple's focus on security. On Apple's website, it says, &quot;It's hard to steal a credit card number when you can't see it.&quot; But that's apparently what happened to one Apple Card user who reached out to <a href=\"https://9to5mac.com/2019/10/09/apple-card-security-cloning/\">9to5Mac</a>, claiming they were the victim of fraud.</p>\n<p>The Apple Card user said they reached out to Apple Support and received this response:</p>\n<blockquote>\n<p>I do not know how this could of happened. It's very rare for your card to be in two places at one time. Since our physical cards have no number on it, it's very hard for someone to copy it.</p>\n</blockquote>\n<p>The Apple Card user confirmed the fraudulent charge after receiving an alert on his iPhone. The tricky thing is the purchase was apparently labeled as being nearby, but clicking on the map revealed it was hours away, 9to5Mac explained.</p>\n<p>On Apple's website, the company highlights the fact that the Apple Card doesn't have any numbers on it. &quot;Not even a CVV. So that's one less thing to worry about when you hand over your card at a restaurant or store.&quot; But that doesn't guarantee it can't be stolen.</p>\n<p>9to5Mac speculates that the Apple Card user may have been the victim of skimming, which can potentially affect all credit cards and debit cards. It's a reminder to be extra vigilant when swiping your card at a gas station or ATM. Better yet, use Apple Pay when possible.</p>\n<p></p><p></p>\n<div>\n<h3><a href=\"https://www.imore.com/apple-goldman-sachs-credit-card\">Apple Card</a></h3>\n<p><a href=\"https://www.imore.com/apple-goldman-sachs-credit-card\"></a><a href=\"https://www.imore.com/apple-card-user-says-he-was-victim-fraud\" title=\"Apple Card user says he was the victim of fraud\"><img src=\"https://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2019/03/apple-card-iphone-xs-payment.jpg\"></a></p>\n<ul><li><a href=\"https://www.imore.com/apple-goldman-sachs-credit-card\">Apple Card: Everything you need to know</a></li>\n<li><a href=\"https://www.imore.com/amex-business-gold-card-apple-store-rewards\">Best Apple Store rewards card</a></li>\n<li><a href=\"https://www.imore.com/apple-card-missing-these-huge-signup-bonuses\">Best credit cards with sign up bonuses</a></li>\n<li><a href=\"https://www.imore.com/not-approved-apple-card-try-applying-these-cards-instead\">What to do if you're not approved for Apple Card</a></li>\n<li><a href=\"https://www.imore.com/is-apple-card-worth-getting\">Is Apple Card worth getting?</a></li>\n</ul></div>\n<p></p></div></div></div><img width=\"1\" alt=\"\" src=\"http://feeds.feedburner.com/~r/TheIphoneBlog/~4/DzBrQNf9PCU\" height=\"1\">",
"direction": "ltr"
},
"title": "Apple Card user says he was the victim of fraud",
"author": "Brandon Russell",
"summary": {
"content": "An Apple Support rep apparently said, &quot;I do not know how this could of happened.&quot;\nWhat you need to know\nAn Apple Card user claims he was the victim of fraud.\nWhen he contacted Apple Support, they said, &quot;I do not know how this could of happened.&quot;\nApple Card touts an extra level of security with no numbers and no CVV.\nWhen Apple Card debuted, one of its biggest draws was Apple's focus on security. On Apple's website, it says, &quot;It's hard to steal a credit card number when you can't see it.&quot; But that's apparently what happened to one Apple Card user who reached out to 9to5Mac, claiming they were the victim of fraud.\nThe Apple Card user said they reached out to Apple Support and received this response:\nI do not know how this could of happened. It's very rare for your card to be in two places at one time. Since our physical cards have no number on it, it's very hard for someone to copy it.\nThe Apple Card user confirmed the fraudulent charge after receiving an alert on his iPhone. ...",
"direction": "ltr"
},
"alternate": [
{
"href": "http://feeds.imore.com/~r/TheIphoneBlog/~3/DzBrQNf9PCU/apple-card-user-says-he-was-victim-fraud",
"type": "text/html"
}
],
"canonical": [
{
"href": "https://www.imore.com/apple-card-user-says-he-was-victim-fraud",
"type": "text/html"
}
],
"crawled": 1570660800027,
"published": 1570660313000,
"origin": {
"streamId": "feed/http://www.imore.com/rss.xml",
"title": "iMore - The #1 iPhone, iPad, and iPod touch blog",
"htmlUrl": "https://www.imore.com/"
},
"unread": false,
"readTime": 2216,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/66132046-6f14-488d-b590-8e93422723c8",
"label": "THree"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1572500208603
},
{
"keywords": [
"Development",
"How To",
"Xcode"
],
"originId": "https://ericasadun.com/?p=6502",
"fingerprint": "878bb7e8",
"id": "eos9yhbovnwyH+gNY6NsrxoZIGI+1zv2KFTRDDBJycA=_16e0e491282:185ad:d4506071",
"author": "erica",
"summary": {
"direction": "ltr",
"content": "Most Xcode users quickly become familiar with the basics of the Find Navigator panel. With it, you can find text, regular expressions, and perform search-and-replace, whether matching or ignoring case. But that\u2019s just scratching the surface of the Find Navigator. I thought I\u2019d drop a few words today about search scopes. Controlled from the bottom [\u2026]"
},
"alternate": [
{
"href": "https://ericasadun.com/2019/10/27/fun-with-xcode-search-domains-excluding-match-text/",
"type": "text/html"
}
],
"crawled": 1572197700226,
"title": "Fun with Xcode Search Domains: Excluding match text",
"published": 1572195876000,
"origin": {
"streamId": "feed/http://ericasadun.com/feed/",
"htmlUrl": "https://ericasadun.com",
"title": "Erica Sadun"
},
"content": {
"direction": "ltr",
"content": "<p>Most Xcode users quickly become familiar with the basics of the Find Navigator panel.</p>\n<p><img data-orig-file=\"https://i0.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.32.34-AM.png?fit=273%2C104&amp;ssl=1\" data-orig-size=\"273,104\" data-medium-file=\"https://i0.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.32.34-AM.png?fit=273%2C104&amp;ssl=1\" data-attachment-id=\"6503\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-description=\"\" src=\"https://i0.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.32.34-AM.png?resize=273%2C104&ssl=1\" data-permalink=\"https://ericasadun.com/2019/10/27/fun-with-xcode-search-domains-excluding-match-text/screen-shot-2019-10-27-at-10-32-34-am/\" data-large-file=\"https://i0.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.32.34-AM.png?fit=273%2C104&amp;ssl=1\" alt=\"\" data-image-title=\"Screen Shot 2019-10-27 at 10.32.34 AM\" width=\"273\" data-comments-opened=\"1\" class=\"wp-image-6503\" data-recalc-dims=\"1\" height=\"104\"></p>\n<p>With it, you can find text, regular expressions, and perform search-and-replace, whether matching or ignoring case. But that\u2019s just scratching the surface of the Find Navigator.</p>\n<p>I thought I\u2019d drop a few words today about search scopes. Controlled from the bottom left, \u00a0under the search field, you can create narrowed searches. This enables you to, for example, search only in Swift files or exclude files containing the word Test.</p>\n<p>To get started, click the icon (two lines with three squares on a line between them) and then New Scope (the plus icon). Here, you can name the scope, limit the search extent, and add criteria for exactly which files should be included or not.</p>\n<p><img data-orig-file=\"https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?fit=863%2C223&amp;ssl=1\" data-orig-size=\"863,223\" data-medium-file=\"https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?fit=300%2C78&amp;ssl=1\" data-attachment-id=\"6504\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-description=\"\" src=\"https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?resize=863%2C223&ssl=1\" data-permalink=\"https://ericasadun.com/2019/10/27/fun-with-xcode-search-domains-excluding-match-text/screen-shot-2019-10-27-at-10-37-57-am/\" data-large-file=\"https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?fit=863%2C223&amp;ssl=1\" alt=\"\" data-image-title=\"Screen Shot 2019-10-27 at 10.37.57 AM\" srcset=\"https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?w=863&amp;ssl=1 863w, https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?resize=300%2C78&amp;ssl=1 300w, https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?resize=768%2C198&amp;ssl=1 768w, https://i2.wp.com/ericasadun.com/wp-content/uploads/2019/10/Screen-Shot-2019-10-27-at-10.37.57-AM.png?resize=535%2C138&amp;ssl=1 535w\" sizes=\"(max-width: 863px) 100vw, 863px\" wi
},
"unread": false,
"readTime": 3406,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/66132046-6f14-488d-b590-8e93422723c8",
"label": "THree"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1572499929438
},
{
"keywords": [
"Apple"
],
"originId": "https://9to5mac.com/?p=617536",
"recrawled": 1572455791719,
"updateCount": 1,
"fingerprint": "77224d8",
"id": "BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16e1d065ad9:1c0f1:d4506071",
"author": "Michael Potuck",
"summary": {
"direction": "ltr",
"content": "<div><img src=\"https://9to5mac.com/wp-content/uploads/sites/6/2019/10/sonos-discount-program-trade-in.jpeg?quality=82&strip=all&w=1600\"></div>\n<p>Sonos has announced a new initiative today that makes it easy for existing customers to trade in older Sonos products for a nice discount on new ones. For Apple customers, the <a href=\"http://www.anrdoezrs.net/links/9173227/type/dlg/https://www.sonos.com/en-us/tradeup\">Trade Up program</a> is a neat opportunity to bring <a href=\"http://www.anrdoezrs.net/links/9173227/type/dlg/https://www.sonos.com/en-us/products/wireless-speakers\">Sonos\u2019 AirPlay 2 compatible speakers</a> into your home.</p>\n<p> <a href=\"https://9to5mac.com/2019/10/30/sonos-trade-in-program-airplay-2/#more-617536\">more\u2026</a></p>\n<p>The post <a rel=\"nofollow\" href=\"https://9to5mac.com/2019/10/30/sonos-trade-in-program-airplay-2/\">Sonos pushing AirPlay 2 speaker lineup with new Trade Up program</a> appeared first on <a rel=\"nofollow\" href=\"https://9to5mac.com\">9to5Mac</a>.</p>"
},
"alternate": [
{
"href": "https://9to5mac.com/2019/10/30/sonos-trade-in-program-airplay-2/",
"type": "text/html"
}
],
"crawled": 1572444986073,
"title": "Sonos pushing AirPlay 2 speaker lineup with new Trade Up program",
"published": 1572442686000,
"origin": {
"streamId": "feed/http://9to5mac.com/feed/",
"htmlUrl": "https://9to5mac.com",
"title": "9to5Mac"
},
"visual": {
"url": "https://cdn.vox-cdn.com/thumbor/06e5FJWgUfUSmDaPJIEZoGF1XOs=/0x68:2040x1136/fit-in/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/10378819/DSCF3031.jpg",
"width": 1200,
"height": 628,
"contentType": "image/jpeg"
},
"unread": false,
"readTime": 4493,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815",
"label": "Macintosh"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1572499889443
},
{
"originId": "tag:blogger.com,1999:blog-8954608646904080796.post-4991449931465752891",
"fingerprint": "7d99be14",
"thumbnail": [
{
"url": "https://1.bp.blogspot.com/-rGjQOQb89a8/XbS25YYbgeI/AAAAAAAADUI/s8Q4e0pTtX4qSTP3wrkt13VGV53Q8J0tQCLcBGAsYHQ/s72-c/092.jpg",
"width": 72,
"height": 72
}
],
"id": "v0v+7Ya8tssIZvd3/pcnFRr3HwvY/5YK3FGc2t65c0Y=_16e0a232509:17e32:d4506071",
"updated": 1572124724480,
"author": "Edward Feser",
"alternate": [
{
"href": "http://edwardfeser.blogspot.com/2019/10/john-paul-ii-in-defense-of-nation-and.html",
"type": "text/html"
}
],
"crawled": 1572128105737,
"title": "John Paul II in defense of the nation and patriotism",
"published": 1572124680000,
"origin": {
"streamId": "feed/http://edwardfeser.blogspot.com/feeds/posts/default",
"htmlUrl": "http://edwardfeser.blogspot.com/",
"title": "Edward Feser"
},
"content": {
"direction": "ltr",
"content": "<br><div><a href=\"https://1.bp.blogspot.com/-rGjQOQb89a8/XbS25YYbgeI/AAAAAAAADUI/s8Q4e0pTtX4qSTP3wrkt13VGV53Q8J0tQCLcBGAsYHQ/s1600/092.jpg\"><img border=\"0\" data-original-height=\"180\" src=\"https://1.bp.blogspot.com/-rGjQOQb89a8/XbS25YYbgeI/AAAAAAAADUI/s8Q4e0pTtX4qSTP3wrkt13VGV53Q8J0tQCLcBGAsYHQ/s1600/092.jpg\" data-original-width=\"144\"></a></div><div><span>In chapters 11-15 of his last book <span><i><a href=\"https://www.amazon.com/Memory-Identity-Conversations-Dawn-Millennium/dp/0847827615/ref=sr_1_1?keywords=john+paul+II+memory+and+identity&qid=1572031154&sr=8-1\">Memory and Identity</a></i></span>, Pope St. John Paul II provides a lucid exposition of the idea of the nation as a natural social institution and of the virtue of patriotism, as these have been understood in traditional natural law theory and Catholic moral theology.\u00a0 The relevance to current controversies will be obvious.</span></div><div><span><br></span></div><div><span>What is the nation, and what is patriotism?<span>\u00a0 </span>John Paul begins by noting the connection between the nation and the family, where the former is in a sense an extension of the latter:</span></div><a name=\"more\"></a><br> <div><i><span>The Latin word </span></i><span>patria<i> is associated with the idea and the reality of \u201cfather\u201d (</i>pater<i>).<span>\u00a0 </span>The native land (or fatherland) can in some ways be identified with patrimony \u2013 that is, the totality of goods bequeathed to us by our forefathers\u2026 Our native land is thus our heritage and it is also the whole patrimony derived from that heritage.<span>\u00a0 </span>It refers to the land, the territory, but more importantly, the concept of patria includes the values and spiritual content that make up the culture of a given nation</i>. (p. 60)</span></div><div><span><br></span></div><div><span>As that last remark makes clear, the ties of blood are less important than those of culture.<span>\u00a0 </span>Indeed, multiple ethnicities can make up a nation.<span>\u00a0 </span>Referring to his native Poland, the pope notes that \u201cin ethnic terms, perhaps the most significant event for the foundation of the nation was the union of two great tribes,\u201d and yet other peoples too eventually went on together to comprise \u201cthe Polish nation\u201d (p. 77).<span>\u00a0 </span>It is shared culture, and especially a shared religion, that formed these diverse ethnicities into a nation:</span></div><div><span><br></span></div><div><i><span>When we speak of Poland\u2019s baptism, we are not simply referring to the sacrament of Christian initiation received by the first historical sovereign of Poland, but also to the event which was decisive for the birth of the nation and the formation of its Christian identity.<span>\u00a0 </span>In this sense, the date of Poland\u2019s baptism marks a turning point.<span>\u00a0 </span>Poland as a nation emerges from its prehistory at that moment and begins to exist in history</span></i><span>.<span>\u00a0 </span>(p. 77)</span></div><div><span><br></span></div><div><span>That a shared culture is the key to understanding the nation is a theme John Paul emphasizes repeatedly throughout the book.<span>\u00a0 </span>He says that \u201cevery nation draws life from the works of its own culture\u201d (p. 83), and that:</span></div><div><span><br></span></div><div><i><span>The nation is, in fact, the great community of men who are united by various ties, but above all, precisely by culture.<span>\u00a0 </span>The nation exists\u00a0<span>\u2018through\u2019 culture and \u2018for\u2019 culture\u00a0</span>and it is therefore the great educator of men in order that they may \u2018be more\u2019 in the community\u2026</span></i></div><div><i><span><br></span></i></div><div><i><span>I am the son of a nation which\u2026 has kept its identity, and it has kept, in spite of partitions and foreign occupations, its national sovereignty, not by relying on the resources of physical power but solely\u00a0<span>by relying on its culture. </span><s
},
"visual": {
"url": "none"
},
"unread": true,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815",
"label": "Macintosh"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fbdcd69b-7e27-4b6a-bfed-6584b944155d",
"label": "\ud83e\udd1e\ud83c\udffb\ud83e\udd1e\ud83c\udffb\ud83e\udd1e\ud83c\udffb"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1572499824479
},
{
"originId": "https://www.raywenderlich.com/5436806-modern-collection-views-with-compositional-layouts",
"fingerprint": "16268498",
"id": "RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16e1cddfaa1:1c015:d4506071",
"updated": 1572440368000,
"summary": {
"direction": "ltr",
"content": "In this tutorial, you\u2019ll learn how to build beautiful, modern UICollectionView layouts using iOS 13\u2019s new declarative UICollectionViewCompositionalLayout API."
},
"alternate": [
{
"href": "https://www.raywenderlich.com/5436806-modern-collection-views-with-compositional-layouts",
"type": "text/html"
}
],
"crawled": 1572442340001,
"title": "Modern Collection Views with Compositional Layouts [FREE]",
"published": 1572440368000,
"origin": {
"streamId": "feed/http://www.raywenderlich.com/feed",
"htmlUrl": "http://www.raywenderlich.com/feed",
"title": "Ray Wenderlich | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more"
},
"unread": false,
"readTime": 3593,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/885f2e01-d314-4e63-abac-17dcb063f5b5",
"label": "Programming"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1572499811331
},
{
"originId": "https://inessential.com/2019/10/30/etas_follow_up",
"fingerprint": "d48dc2d2",
"id": "+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16e1e5e8e9e:1ca95:d4506071",
"summary": {
"direction": "ltr",
"content": "<p>Some people took my post <a href=\"https://inessential.com/2019/10/28/no_etas\">No ETAs</a> as if I were arguing against doing software estimates of any kind, ever.</p>\n<p>I didn\u2019t actually mean that. If your boss, project manager, or person you\u2019re contracting with asks for an estimate, do your best to come up with something accurate. If you\u2019re writing enterprise software, you may even be contractually bound to provide estimates for when features will ship.</p>\n<p>There are ways to get pretty good at this. Pay attention to history and avoid wishful thinking. Don\u2019t assume perfect productivity. Allow for the unexpected, because there\u2019s always something.</p>\n<p>What I\u2019m talking about is the case where you\u2019re writing a consumer-facing app \u2014\u00a0something that would get published on an app store, for instance \u2014\u00a0and customers or potential customers ask about an ETA for a given feature. Don\u2019t do it! (For the reasons stated in the article.)</p>"
},
"alternate": [
{
"href": "https://inessential.com/2019/10/30/etas_follow_up",
"type": "text/html"
}
],
"crawled": 1572467543710,
"title": "ETAs: Follow-Up",
"published": 1572466202000,
"origin": {
"streamId": "feed/http://ranchero.com/xml/rss.xml",
"htmlUrl": "https://inessential.com/",
"title": "inessential.com"
},
"unread": false,
"readTime": 6552,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/66132046-6f14-488d-b590-8e93422723c8",
"label": "THree"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1572499788300
},
{
"keywords": [
"Apple"
],
"originId": "https://9to5mac.com/?p=617593",
"fingerprint": "a1dafaae",
"id": "BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16e1de23321:1c6e3:d4506071",
"author": "Guilherme Rambo",
"summary": {
"direction": "ltr",
"content": "<div><img src=\"https://9to5mac.com/wp-content/uploads/sites/6/2019/10/16-inch-macbook-pro-touch-bar-keyboard.jpg?quality=82&strip=all&w=1600\"></div>\n<p>Rumors about a new 16-inch MacBook Pro are not exactly new, with recent icon evidence found in macOS Catalina betas suggesting the redesign mentioned in some reports is not going to happen as we thought.</p>\n<p> <a href=\"https://9to5mac.com/2019/10/30/exclusive-16-inch-macbook-pro-touch-bar-and-touch-id-layout-confirmed/#more-617593\">more\u2026</a></p>\n<p>The post <a rel=\"nofollow\" href=\"https://9to5mac.com/2019/10/30/exclusive-16-inch-macbook-pro-touch-bar-and-touch-id-layout-confirmed/\">Exclusive: 16-inch MacBook Pro Touch Bar and Touch ID layout confirmed</a> appeared first on <a rel=\"nofollow\" href=\"https://9to5mac.com\">9to5Mac</a>.</p>"
},
"alternate": [
{
"href": "https://9to5mac.com/2019/10/30/exclusive-16-inch-macbook-pro-touch-bar-and-touch-id-layout-confirmed/",
"type": "text/html"
}
],
"crawled": 1572459393825,
"title": "Exclusive: 16-inch MacBook Pro Touch Bar and Touch ID layout confirmed",
"published": 1572456327000,
"origin": {
"streamId": "feed/http://9to5mac.com/feed/",
"htmlUrl": "https://9to5mac.com",
"title": "9to5Mac"
},
"unread": false,
"readTime": 3947,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815",
"label": "Macintosh"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1572499186128
},
{
"originId": "https://inessential.com/2019/10/30/you_choose_follow_up",
"fingerprint": "f1dd63ab",
"id": "+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16e1f71bf1c:1d086:d4506071",
"summary": {
"direction": "ltr",
"content": "<p>It came to my attention after writing my blog post about how <a href=\"https://inessential.com/2019/10/29/you_choose\">we choose the web we want</a>\u00a0that the pessimism is about not being able to make a living from blogging.</p>\n<p>Here\u2019s my followup: I don\u2019t care. Bite me.</p>"
},
"alternate": [
{
"href": "https://inessential.com/2019/10/30/you_choose_follow_up",
"type": "text/html"
}
],
"crawled": 1572485578524,
"title": "You Choose: Follow-Up",
"published": 1572482100000,
"origin": {
"streamId": "feed/http://ranchero.com/xml/rss.xml",
"htmlUrl": "https://inessential.com/",
"title": "inessential.com"
},
"unread": false,
"readTime": 3663,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/66132046-6f14-488d-b590-8e93422723c8",
"label": "THree"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1572499146275
},
{
"originId": "https://inessential.com/2019/10/14/netnewswire_os_compatibility_strategy",
"fingerprint": "fa6e6fff",
"id": "+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16dccdfc972:a6e5:d4506071",
"summary": {
"direction": "ltr",
"content": "<p>We have two goals with the app: 1) get as many people using RSS as possible, and 2) make the best app we can.</p>\n<p>To reach #2 \u2014\u00a0making the best app we can \u2014\u00a0we need to do a couple things. One is stay modern: use new APIs and tools that make the app better and easier to maintain. A second is to not spend time on things that don\u2019t make the app better. A third is to attract and retain contributors, who are usually more psyched to work with modern stuff than with old stuff.</p>\n<p>You can see how that\u2019s in a little bit of conflict with #1 (getting as many people as possible using RSS readers).</p>\n<h4>Here\u2019s the plan</h4>\n<p>After a major OS update, we will switch to requiring that update on our next major release \u2014\u00a0where major is defined as something like 5.0 or 5.1, but not something like 5.0.1. (In other words: the upcoming NetNewsWire 5.0.3 release will run on Mojave, while NetNewsWire 5.1 will require Catalina.)</p>\n<p>At the same time, we will make older versions available via the website. For instance, the last version that will run on Mojave will likely be 5.0.4 (which isn\u2019t finished yet) \u2014 and we\u2019ll make that version available indefinitely for people who haven\u2019t upgraded to Catalina.</p>\n<p>This will mean that people running older OSes will still get a high-quality app \u2014 it\u2019s just that it won\u2019t have the latest features.</p>\n<p>The key is that this allows us to make NetNewsWire the best app it can be, and making the best app we can is also part of furthering the goal of getting as many people as possible using RSS. (The biggest part, in fact. Bigger than compatibility with older OSes.)</p>\n<p>While I know this will disappoint some people, I hope you\u2019ll understand <em>why</em> we decided to do it this way. Decisions like this are never easy \u2014 there are always conflicting values to weigh, pros and cons and add up \u2014\u00a0and we don\u2019t make them impulsively. But making NetNewsWire the best app it can be has to be job #1.</p>"
},
"alternate": [
{
"href": "https://inessential.com/2019/10/14/netnewswire_os_compatibility_strategy",
"type": "text/html"
}
],
"crawled": 1571100281202,
"title": "NetNewsWire OS Compatibility Strategy",
"published": 1571099404000,
"origin": {
"streamId": "feed/http://ranchero.com/xml/rss.xml",
"htmlUrl": "https://inessential.com/",
"title": "inessential.com"
},
"unread": false,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/66132046-6f14-488d-b590-8e93422723c8",
"label": "THree"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1571123677415
},
{
"keywords": [
"Xcode"
],
"originId": "https://nshipster.com/swiftui-previews",
"recrawled": 1571407228188,
"updateCount": 2,
"fingerprint": "7582ddff",
"id": "08l+9ftpGejQ9f/2DZ6dom5rSnNJJO9OCox6I3nUnWg=_16dc8d7749a:96ed:d4506071",
"updated": 1571036400000,
"author": "Mattt",
"summary": {
"direction": "ltr",
"content": "<p>Working on a large iOS codebase often involves a lot of waiting. But with Xcode 11, our wait is finally over \u2014 and it\u2019s all thanks to SwiftUI.</p>"
},
"alternate": [
{
"href": "https://nshipster.com/swiftui-previews/",
"type": "text/html"
}
],
"crawled": 1571032626330,
"title": "SwiftUI Previews on macOS Catalina and Xcode 11",
"published": 1571036400000,
"origin": {
"streamId": "feed/http://nshipster.com/feed.xml",
"htmlUrl": "https://nshipster.com/",
"title": "NSHipster"
},
"content": {
"direction": "ltr",
"content": "<p>Working on a large iOS codebase often involves a lot of waiting:\nWaiting for Xcode to index your files,\nwaiting for Swift and Objective-C code to compile,\nwaiting for the Simulator to boot and your app to launch\u2026</p>\n<p>And after all of that,\nyou spend even more time getting your app\ninto a particular state and onto a particular screen,\njust to see whether the Auto Layout constraint you just added\nfixes that regression you found.\nIt didn\u2019t, of course,\nso you jump back into Xcode,\ntweak the Content Hugging Priority,\nhit <kbd>\u2318</kbd><kbd>R</kbd>,\nand start the whole process again.</p>\n<p>We might relate our sorry predicament to\n<a rel=\"noopener noreferrer\" href=\"https://xkcd.com/303/\">that one xkcd comic</a>,\nbut for those of us who don\u2019t so much relish in\nthe stop-and-go nature of app development,\nthere\u2019s an old Yiddish joke about Shlemiel the painter\n<em>(provided below with a few \uf8ff-specific modifications;\nfor the uninitiated,\nplease refer to Joel Spolsky\u2019s\n<a rel=\"noopener noreferrer\" href=\"https://www.joelonsoftware.com/2001/12/11/back-to-basics/\">original telling</a>)</em>:</p>\n<blockquote>\n<p>Shlemiel gets a job as a software developer,\nimplementing a new iOS app.\nOn the first sprint he opens Xcode\nand implements 10 new screens of the app.\n<em>\u201cThat\u2019s pretty good!\u201d</em> says his manager,\n<em>\u201cyou\u2019re a fast worker!\u201d</em> and pays him a Bitcoin.</p>\n<p>The next sprint Shlemiel only gets 5 screens done.\n<em>\u201cWell, that\u2019s not nearly as good as yesterday,\nbut you\u2019re still a fast worker. 5 screens is respectable,\u201d</em>\nand pays him a Bitcoin.</p>\n<p>The next sprint Shlemiel implements 1 screen.\n<em>\u201cOnly 1!\u201d</em> shouts his manager.\n<em>\u201cThat\u2019s unacceptable!\nOn the first day you did ten times that much work!\nWhat\u2019s going on?\u201d</em></p>\n<p><em>\u201cI can\u2019t help it,\u201d</em> says Shlemiel.\n<em>\u201cEach sprint I get further and further away from\n<code>application(_:did<wbr>Finish<wbr>Launching<wbr>With<wbr>Options:)</code>!\u201d</em></p>\n</blockquote>\n<p>Over the years,\nthere have been some developments that\u2019ve helped things slightly,\nincluding\n<a href=\"https://nshipster.com/ibinspectable-ibdesignable/\"><code>@IBInspectable</code> and <code>@IBDesignable</code></a>\nand <a href=\"https://nshipster.com/xcplayground/\">Xcode Playgrounds</a>.\nBut with Xcode 11,\nour wait is finally over \u2014\nand it\u2019s all thanks to SwiftUI.</p>\n<hr>\n<aside>\n<p>The functionality described in this article requires the following:</p>\n<ul>\n<li><strong>Xcode 11</strong></li>\n<li><strong>macOS Catalina</strong></li>\n<li>\n<strong>iOS 13</strong> set as the <strong>Deployment Target</strong> for your app\u2019s <strong>Debug</strong> configuration <br>\n<em>(In Xcode, navigate your project\u2019s Build Settings;\nunder the Deployment heading,\nexpand the iOS Deployment Target setting and set Debug to iOS 13.0 or later)</em>\n</li>\n</ul>\n<p>Without these three things,\nyour code either won\u2019t compile or won\u2019t render live previews.</p>\n</aside>\n<hr>\n<p>Although many of us have taken a <a href=\"https://nshipster.com/wwdc-2019/\"><em>\u201cwait and see\u201d</em> approach</a> to SwiftUI,\nwe can start using its capabilities <strong>today</strong>\nto radically speed up and improve our development process \u2014\n<em>without changing a line of code in our UIKit apps</em>.</p>\n<p>Consider a subclass of <code>UIButton</code>\nthat draws a border around itself:</p>\n<pre data-lang=\"Swift\"><code><span>final</span> <span>class</span> <span>Bordered<wbr>Button</span><span>:</span> <span>UIButton</span> <span>{</span>\n <span>var</span> <span>corner<wbr>Radius</span><span>:</span> <span>CGFloat</span> <span>{</span> <var>...</var> <span>}</span>\n <span>var</span> <span>border<wbr>Width</span><span>:</span> <span>CGFloat</span> <span>{</span> <var>...</var> <span>}</span>\n <span>var</span> <span>
},
"visual": {
"url": "none"
},
"unread": false,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/885f2e01-d314-4e63-abac-17dcb063f5b5",
"label": "Programming"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1571037592868
},
{
"originId": "tag:blogger.com,1999:blog-8954608646904080796.post-3215871338266756283",
"fingerprint": "717870dc",
"thumbnail": [
{
"url": "https://1.bp.blogspot.com/-JTONCNpv2X8/XaEUgnGZSzI/AAAAAAAADTg/EaM5cDjkD3kRnXPIR0-6AX-3VxlC_br_QCEwYBhgL/s72-c/091.jpg",
"width": 72,
"height": 72
}
],
"id": "v0v+7Ya8tssIZvd3/pcnFRr3HwvY/5YK3FGc2t65c0Y=_16dbd619e56:82fa:d4506071",
"updated": 1570837682218,
"author": "Edward Feser",
"alternate": [
{
"href": "http://edwardfeser.blogspot.com/2019/10/around-web.html",
"type": "text/html"
}
],
"crawled": 1570840354390,
"title": "Around the web",
"published": 1570837680000,
"origin": {
"streamId": "feed/http://edwardfeser.blogspot.com/feeds/posts/default",
"htmlUrl": "http://edwardfeser.blogspot.com/",
"title": "Edward Feser"
},
"content": {
"direction": "ltr",
"content": "<br><div></div><div></div><div><a href=\"https://1.bp.blogspot.com/-JTONCNpv2X8/XaEUgnGZSzI/AAAAAAAADTg/EaM5cDjkD3kRnXPIR0-6AX-3VxlC_br_QCEwYBhgL/s1600/091.jpg\"><img border=\"0\" src=\"https://1.bp.blogspot.com/-JTONCNpv2X8/XaEUgnGZSzI/AAAAAAAADTg/EaM5cDjkD3kRnXPIR0-6AX-3VxlC_br_QCEwYBhgL/s200/091.jpg\" data-original-width=\"166\" width=\"136\" data-original-height=\"243\" height=\"200\"></a></div><div><span>At <i>The Catholic Thing</i>, Fr. Thomas Weinandy on <span><a href=\"https://www.thecatholicthing.org/2019/10/08/pope-francis-and-schism/\">the studied ambiguity of Pope Francis.</a></span>\u00a0 In his new book <i>Conciliar Octet</i>, Fr. Aidan Nichols on <a href=\"https://www.catholicworldreport.com/2019/08/22/fr-aidan-nichols-conciliar-octet-is-a-welcome-guide-to-the-eight-key-texts-of-vatican-ii/\">the hermeneutic of continuity and Vatican II</a>. </span></div><div><span><br></span></div><div><span>At <i>Medium</i>, philosopher Kathleen Stock on <span><a href=\"https://medium.com/@kathleenstock/are-academics-freely-able-to-criticise-the-idea-of-gender-identity-in-uk-universities-67b97c6e04be\">gender theory versus academic freedom in the UK</a></span>.<span>\u00a0 </span>At <i>Inside Higher Education</i>, twelve prominent philosophers <span><a href=\"https://www.insidehighered.com/views/2019/07/22/philosophers-should-not-be-sanctioned-their-positions-sex-and-gender-opinion\">defend the right to free inquiry on matters of sex and gender</a></span>.<span>\u00a0 </span></span></div><div><span><span><br></span></span></div><div><span>Philosopher Daniel A. Kaufman on <span><a href=\"https://theelectricagora.com/2019/09/08/philosophys-aspirant-tin-pot-dictators/\">the \u201cwoke\u201d fanatics increasingly infesting academic philosophy</a></span>, at <i>The Electric Agora</i>.<span>\u00a0 </span>Richard Marshall <span><a href=\"https://316am.site123.me/articles/anti-theory-philosophy?c=end-times-series\">interviews Kaufman</a></span> at <i>3:16</i>.<span>\u00a0</span></span></div><a name=\"more\"></a> <br> <div><span>Peggy Noonan on <u><a href=\"http://peggynoonan.com/what-were-robespierres-pronouns/\">transgender Jacobinism</a></u>, at <i>The Wall Street Journal</i>.<span>\u00a0 </span>At YouTube, <u><a href=\"https://www.youtube.com/watch?v=IzNGkwGYE4E\">video of an indoctrination session</a></u>.<span><span></span></span></span></div><div><span><br></span></div><div><span>Jacob Howland on <span><a href=\"https://newcriterion.com/issues/2019/10/borgess-mirror\">Borges\u2019s Library of Babel</a></span>, at <i>The New Criterion</i>.</span></div><div><span><br></span></div><div><span>At <i>New Statesman</i>, John Gray on Tom Holland on <u><a href=\"https://www.newstatesman.com/dominion-making-western-mind-tom-holland-review\">the Christian origins of modern secular liberal values</a></u>.<span>\u00a0 </span>More reviews <u><a href=\"https://kirkcenter.org/reviews/the-origin-of-the-secular-species/\">at <i>The University Bookman</i></a></u> and <u><a href=\"https://literaryreview.co.uk/it-began-in-a-manger\">at <i>Literary Review</i></a></u>.</span></div><div><span><br></span></div><div><span>At <i>Quillette</i>, Benedict Beckeld diagnoses <span><a href=\"https://quillette.com/2019/10/07/oikophobia-our-western-self-hatred/\">Western self-hatred or <i>oikophobia</i></a></span>.</span></div><div><span><br></span></div><div><u><span><a href=\"http://www.axs.tv/featured/shaffer-105/\">Donald Fagen interviewed</a></span></u><span> on <i>Paul Shaffer Plus One</i>.</span></div><div><span><br></span></div><div><span>Kay Hymowitz on <span><a href=\"https://www.washingtonexaminer.com/opinion/a-nation-dying-in-despair-and-family-breakdown-is-part-of-the-problem\">the sexual revolution and mental health</a></span>, at <i>The Washington Examiner</i>.</span></div><div><span><br></span></div><div><span>John DeRosa of the Classical Theism Podcast <span><a href=\"http://www.classicaltheism.com/kerr/\">interviews Thomist philosopher Gaven Kerr</a></span> on the topic of Aquinas and creation.</span></div><div
},
"visual": {
"url": "http://b.vimeocdn.com/ts/452/218/452218069_1280.jpg",
"width": 1280,
"height": 720,
"contentType": "image/jpeg"
},
"unread": false,
"categories": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815",
"label": "Macintosh"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fbdcd69b-7e27-4b6a-bfed-6584b944155d",
"label": "\ud83e\udd1e\ud83c\udffb\ud83e\udd1e\ud83c\udffb\ud83e\udd1e\ud83c\udffb"
}
],
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
}
],
"actionTimestamp": 1571037184309
},
{
"keywords": [
"Google",
"Apple Arcade"
],
"originId": "https://www.macrumors.com/2019/09/26/apple-arcade-vs-google-play-pass/",
"fingerprint": "fd93a55d",
"id": "SusR11hdg5ydv7o+xGl+0XlI0AhBL77Oxid8QOO3j5k=_16d6f7df794:48e16:18991ffa",
"author": "Juli Clover",
"summary": {
"direction": "ltr",
"content": "With the launch of <a href=\"https://www.macrumors.com/roundup/ios-13/\">iOS 13</a>, <a href=\"https://www.macrumors.com/2019/09/19/apple-arcade-live-ios-13/\">Apple released Apple Arcade</a>, a new $4.99 per month gaming service that provides unlimited access to new and exclusive games.\n<br>\n<br>\nLess than two weeks later, Google <a href=\"https://www.macrumors.com/2019/09/23/google-launches-new-play-pass-service-on-android/\">announced its own gaming service</a> called Play Pass, which also offers unlimited access to games. In our latest YouTube video, we went hands-on with both services to compare them.\n<br>\n<br>\n<center><iframe allowfullscreen src=\"https://www.youtube.com/embed/klZfwC5Wh9I\" width=\"560\" height=\"315\"></iframe></center><center><em><a href=\"https://www.youtube.com/user/macrumors?sub_confirmation=1\">Subscribe to the MacRumors YouTube channel</a> for more videos.</em></center>\n<br>\nBoth <a href=\"https://www.apple.com/apple-arcade/\">Apple Arcade</a> and <a href=\"https://play.google.com/about/play-pass/\">Play Pass</a> are priced at $4.99 per month. Apple offers a one-month free trial while Google offers a 10-day free trial, but for the first year, Google is offering a deal that drops the price of Play Pass to $1.99 per month.\n<br>\n<br>\nThough the prices are similar, the two services are quite different. <a href=\"https://www.macrumors.com/guide/apple-arcade/\">Apple Arcade</a> features new and exclusive games, some of which were funded by Apple, while Google's Play Pass offers up older games.\n<br>\n<br>\nPlay Pass includes some super popular titles like Stardew Valley, Reigns, Star Wars Knights of the Old Republic, Terraria, and more, but the problem with older games is that many people may have already played them.\n<br>\n<br>\nPlay Pass is also not limited to games -- Google is including apps too. AccuWeather, Pic Stitch, ISS HD, and Tunable are some of the apps offered.\n<br>\n<br>\nApple Arcade only offers gaming titles, but all of the games are fresh, new, and exclusive to Apple Arcade. In some cases, though, some of the games are also available on consoles, but on mobile platforms, Apple Arcade gets exclusive access. That means no Android equivalent.\n<br>\n<br>\nIt's not clear if apps can leave Apple Arcade, but Google warns that apps can leave Play Pass. If that happens, users will need to buy the game to continue to use it if it's a paid game, and for free titles, ads and in-app purchases may show up.\n<br>\n<br>\nGoogle says there are hundreds of apps and games included with more being added every month. Apple Arcade launched with right around 60 games, and Apple has also promised new content on a monthly basis. Both services offer offline gaming, so no internet connection is required.\n<br>\n<br>\nWith both services, content is ad free and features no in-app purchases. Apple titles were designed from the ground up with no additional purchases, but for Play Pass, these gaming elements have been removed from titles that previously offered them.\n<br>\n<br>\nApple allows up to six family members to share games through a single Apple Arcade subscription using Family Sharing, and Google allows for up to five family members to share content through its Google Play Family Library.\n<br>\n<br>\nApple Arcade has launched in multiple countries around the world, while Play Pass is limited to the United States at the current time. Google does plan to expand, however.\n<br>\n<br>\nOne other aspect worth noting is privacy. Apple specifically mentions privacy protections and says that users are able to choose to share data, while Google's Play Pass materials don't mention privacy or data sharing. &quot;Every game must meet Apple's high privacy standards,&quot; reads Apple's <a href=\"https://www.apple.com/newsroom/2019/09/apple-arcade-invites-you-to-play-something-extraordinary/\">press release</a> for Apple Arcade.\n<br>\n<br>\nMost people are locked in to either Android or iOS and few have both, so most people won't need to choose between services.\n<br>\n<b
},
"alternate": [
{
"href": "https://www.macrumors.com/2019/09/26/apple-arcade-vs-google-play-pass/",
"type": "text/html"
}
],
"crawled": 1569533589396,
"title": "Apple Arcade vs. Google Play Pass",
"published": 1569531802000,
"origin": {
"streamId": "feed/http://www.macrumors.com/macrumors.xml",
"htmlUrl": "https://www.macrumors.com",
"title": "MacRumors: Mac News and Rumors - Front Page"
},
"visual": {
"url": "https://cdn.vox-cdn.com/thumbor/m3ztxUEeETYXD9gGfyEjUpS0GFE=/0x0:800x533/1310x873/cdn.vox-cdn.com/uploads/chorus_image/image/59662701/800x_1.0.jpg",
"width": 1310,
"height": 873,
"contentType": "image/jpeg"
},
"unread": false,
"readTime": 33744,
"tags": [
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.read",
"label": ""
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.unsaved",
"label": "Unsaved"
},
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/tag/global.saved",
"label": "Saved For Later"
}
],
"actionTimestamp": 1569536278861
}
]
}