From f4bfb20f86d6942738116588fa6f2d3e93affd88 Mon Sep 17 00:00:00 2001 From: Mattt Thompson Date: Wed, 15 Oct 2014 08:59:52 -0700 Subject: [PATCH] Tagging articles in NSHipster book --- 2012-07-07-nsindexset.md | 1 + 2012-07-14-nscache.md | 1 + 2012-07-24-nssortdescriptor.md | 1 + 2012-08-06-cfstringtransform.md | 1 + 2012-08-27-cfbag.md | 1 + 2012-09-03-nslocale.md | 1 + 2012-09-10-uiaccessibility.md | 1 + 2012-10-01-pragma.md | 1 + 2012-10-08-at-compiler-directives.md | 1 + 2012-10-22-nslinguistictagger.md | 1 + 2012-10-29-uilocalizedindexedcollation.md | 1 + 2012-11-12-nsvaluetransformer.md | 1 + 2012-11-19-ns_enum-ns_options.md | 2 +- 2012-11-26-nsorderedset.md | 1 + 2012-12-03-kvc-collection-operators.md | 1 + 2013-01-07-nil.md | 1 + 2013-01-14-__attribute__.md | 1 + 2013-01-28-nsvalue.md | 1 + 2013-02-04-type-encodings.md | 1 + 2013-03-11-uiappearance.md | 1 + 2013-03-18-c-storage-classes.md | 1 + 2013-04-08-bool.md | 1 + 2013-06-02-nsdatadetector.md | 1 + 2013-07-08-nsexpression.md | 2 ++ 2013-07-15-nspredicate.md | 2 +- 2013-07-22-uimenucontroller.md | 1 + 2013-08-19-nshashtable-and-nsmaptable.md | 2 ++ 2013-08-26-equality.md | 1 + 2013-10-07-key-value-observing.md | 2 +- 2013-10-14-nserror.md | 1 + 2013-11-18-nsfilemanager.md | 1 + 2014-01-27-stewardship.md | 1 + 2014-03-17-empathy.md | 1 + 2014-06-30-nsformatter.md | 1 + 2014-07-14-nsoperation.md | 1 + 35 files changed, 37 insertions(+), 3 deletions(-) diff --git a/2012-07-07-nsindexset.md b/2012-07-07-nsindexset.md index 5dd9d028..1e20097f 100644 --- a/2012-07-07-nsindexset.md +++ b/2012-07-07-nsindexset.md @@ -2,6 +2,7 @@ layout: post title: NSIndexSet category: Cocoa +tags: nshipster excerpt: "NSIndexSet (and its mutable counterpart, NSMutableIndexSet) is a sorted collection of unique unsigned integers. Think of it like an NSRange that supports non-contiguous series. It has wicked fast operations for finding indexes in ranges or set intersections, and comes with all of the convenience methods you'd expect in a Foundation collection class." --- diff --git a/2012-07-14-nscache.md b/2012-07-14-nscache.md index 32728a94..1fefd5ac 100644 --- a/2012-07-14-nscache.md +++ b/2012-07-14-nscache.md @@ -2,6 +2,7 @@ layout: post title: NSCache category: Cocoa +tags: nshipster excerpt: "Poor NSCache, always being overshadowed by NSMutableDictionary. It's as if no one knew how it provides all of that garbage collection behavior that developers take great pains to re-implement themselves." --- diff --git a/2012-07-24-nssortdescriptor.md b/2012-07-24-nssortdescriptor.md index a769c090..d430876d 100644 --- a/2012-07-24-nssortdescriptor.md +++ b/2012-07-24-nssortdescriptor.md @@ -2,6 +2,7 @@ layout: post title: NSSortDescriptor category: Cocoa +tags: nshipster excerpt: "Sorting: it's the mainstay of Computer Science 101 exams and whiteboarding interview questions. But when was the last time you actually needed to know how to implement Quicksort yourself?" --- diff --git a/2012-08-06-cfstringtransform.md b/2012-08-06-cfstringtransform.md index 677b21fd..58b339d8 100644 --- a/2012-08-06-cfstringtransform.md +++ b/2012-08-06-cfstringtransform.md @@ -2,6 +2,7 @@ layout: post title: CFStringTransform category: Cocoa +tags: nshipster, popular excerpt: "NSString is the crown jewel of Foundation. But as powerful as it is, one would be remiss not to mention its toll-free bridged cousin, CFMutableString—or more specifically, CFStringTransform." --- diff --git a/2012-08-27-cfbag.md b/2012-08-27-cfbag.md index 62cb3595..a8f0cd5d 100644 --- a/2012-08-27-cfbag.md +++ b/2012-08-27-cfbag.md @@ -2,6 +2,7 @@ layout: post title: CFBag category: Cocoa +tags: nshipster excerpt: "In the pantheon of collection data types in computer science, bag doesn't really have the same clout as lists, sets, associative arrays, trees, graphs, or priority queues. In fact, it's pretty obscure. You've probably never heard of it." --- diff --git a/2012-09-03-nslocale.md b/2012-09-03-nslocale.md index 8bea0d59..838d1655 100644 --- a/2012-09-03-nslocale.md +++ b/2012-09-03-nslocale.md @@ -2,6 +2,7 @@ layout: post title: NSLocale category: Cocoa +tags: nshipster excerpt: "Internationalization is like flossing: everyone knows they should do it, but probably don't." --- diff --git a/2012-09-10-uiaccessibility.md b/2012-09-10-uiaccessibility.md index 8bcfc7e2..1b87e6dd 100644 --- a/2012-09-10-uiaccessibility.md +++ b/2012-09-10-uiaccessibility.md @@ -2,6 +2,7 @@ layout: post title: UIAccessibility category: Cocoa +tags: nshipster excerpt: "Accessibility, like internationalization, is one of those topics that's difficult to get developers excited about. But as you know, NSHipster is all about getting developers excited about this kind of stuff." --- diff --git a/2012-10-01-pragma.md b/2012-10-01-pragma.md index 90fff1a9..bccad553 100644 --- a/2012-10-01-pragma.md +++ b/2012-10-01-pragma.md @@ -2,6 +2,7 @@ layout: post title: "#pragma" category: Objective-C +tags: nshipster excerpt: "`#pragma` declarations are a mark of craftsmanship in Objective-C. Although originally purposed for compiling source code across many different compilers, the modern Xcode-savvy programmer uses #pragma declarations to very different ends." --- diff --git a/2012-10-08-at-compiler-directives.md b/2012-10-08-at-compiler-directives.md index caa7c034..bd668789 100644 --- a/2012-10-08-at-compiler-directives.md +++ b/2012-10-08-at-compiler-directives.md @@ -2,6 +2,7 @@ layout: post title: "@" category: Objective-C +tags: nshipster excerpt: "If we were to go code-watching for Objective-C, what would we look for? Square brackets, ridiculously-long method names, and `@`'s. \"at\" sign compiler directives are as central to understanding Objective-C's gestalt as its ancestry and underlying mechanisms. It's the sugary glue that allows Objective-C to be such a powerful, expressive language, and yet still compile all the way down to C." --- diff --git a/2012-10-22-nslinguistictagger.md b/2012-10-22-nslinguistictagger.md index 9b55bb0c..86f20625 100644 --- a/2012-10-22-nslinguistictagger.md +++ b/2012-10-22-nslinguistictagger.md @@ -2,6 +2,7 @@ layout: post title: NSLinguisticTagger category: Cocoa +tags: nshipster excerpt: "NSLinguisticTagger is a veritable Swiss Army Knife of linguistic functionality, with the ability to tokenize natural language strings into words, determine their part-of-speech & stem, extract names of people, places, & organizations, and tell you the languages & respective writing system used in the string." --- diff --git a/2012-10-29-uilocalizedindexedcollation.md b/2012-10-29-uilocalizedindexedcollation.md index 62290e4a..f2501cec 100644 --- a/2012-10-29-uilocalizedindexedcollation.md +++ b/2012-10-29-uilocalizedindexedcollation.md @@ -2,6 +2,7 @@ layout: post title: UILocalizedIndexedCollation category: Cocoa +tags: nshipster excerpt: "UITableView starts to become unwieldy once it gets to a few hundred rows. If users are reduced to frantically scratching at the screen like a cat playing Fruit Ninja in order to get at what they want... you may want to rethink your UI approach." --- diff --git a/2012-11-12-nsvaluetransformer.md b/2012-11-12-nsvaluetransformer.md index 26362a82..96b899f4 100644 --- a/2012-11-12-nsvaluetransformer.md +++ b/2012-11-12-nsvaluetransformer.md @@ -2,6 +2,7 @@ layout: post title: NSValueTransformer category: Cocoa +tags: nshipster excerpt: "Of all the Foundation classes, NSValueTransformer is perhaps the one that fared the worst in the shift from OS X to iOS. But you know what? It's ripe for a comeback. With a little bit of re-tooling and some recontextualization, this blast from the past could be the next big thing in your application." --- diff --git a/2012-11-19-ns_enum-ns_options.md b/2012-11-19-ns_enum-ns_options.md index 6ffd6dfe..74889bfa 100644 --- a/2012-11-19-ns_enum-ns_options.md +++ b/2012-11-19-ns_enum-ns_options.md @@ -2,7 +2,7 @@ layout: post title: "NS_ENUM & NS_OPTIONS" category: Cocoa -tags: popular +tags: nshipster, popular excerpt: "A skilled Objective-C developer is able to gracefully switch between Objective and Procedural paradigms, and use each to their own advantage." --- diff --git a/2012-11-26-nsorderedset.md b/2012-11-26-nsorderedset.md index 7dcf4462..76c0dcc6 100644 --- a/2012-11-26-nsorderedset.md +++ b/2012-11-26-nsorderedset.md @@ -2,6 +2,7 @@ layout: post title: "NSOrderedSet" category: Cocoa +tags: nshipster excerpt: "Why isn't NSOrderedSet a subclass of NSSet? The answer may surprise you." --- diff --git a/2012-12-03-kvc-collection-operators.md b/2012-12-03-kvc-collection-operators.md index 4a8c750a..878b46f2 100644 --- a/2012-12-03-kvc-collection-operators.md +++ b/2012-12-03-kvc-collection-operators.md @@ -2,6 +2,7 @@ layout: post title: "KVC Collection Operators" category: Cocoa +tags: nshipster excerpt: "Rubyists laugh at Objective-C’s bloated syntax. Although we lost a few pounds over the summer with our sleek new object literals, those Red-headed bullies still taunt us with their map one-liners and their fancy Symbol#to_proc. Fortunately, Key-Value Coding has an ace up its sleeves." --- diff --git a/2013-01-07-nil.md b/2013-01-07-nil.md index f00c8616..bd037ebd 100644 --- a/2013-01-07-nil.md +++ b/2013-01-07-nil.md @@ -2,6 +2,7 @@ layout: post title: "nil / Nil / NULL / NSNull" category: Objective-C +tags: nshipster, popular excerpt: "Understanding the concept of nothingness is as much a philosophical issue as it is a pragmatic one. We are inhabitants of a universe of somethings, yet reason in a logical universe of existential uncertainties. As a physical manifestation of a logical system, computers are faced with the intractable problem of how to represent nothing with something." --- diff --git a/2013-01-14-__attribute__.md b/2013-01-14-__attribute__.md index a4a6c4f2..f0df32c5 100644 --- a/2013-01-14-__attribute__.md +++ b/2013-01-14-__attribute__.md @@ -2,6 +2,7 @@ layout: post title: "__attribute__" category: Objective-C +tags: nshipster excerpt: "A recurring theme of this publication has been the importance of a healthy relationship with the compiler. Like any craft, one's effectiveness as a practitioner is contingent on how they treat their tools. Take good care of them, and they'll take good care of you." --- diff --git a/2013-01-28-nsvalue.md b/2013-01-28-nsvalue.md index 0b4d12cf..232bbbad 100644 --- a/2013-01-28-nsvalue.md +++ b/2013-01-28-nsvalue.md @@ -2,6 +2,7 @@ layout: post title: NSValue category: Cocoa +tags: nshipster excerpt: "Boxing is the process of encapsulating scalars and value types with an object container, and is primarily used to store those values in collection objects—namely arrays and dictionaries. In Foundation, the reigning featherweight champion of boxing is NSValue." --- diff --git a/2013-02-04-type-encodings.md b/2013-02-04-type-encodings.md index cab26c04..155698c0 100644 --- a/2013-02-04-type-encodings.md +++ b/2013-02-04-type-encodings.md @@ -2,6 +2,7 @@ layout: post title: Type Encodings category: Objective-C +tags: nshipster excerpt: "From number stations and numerology to hieroglyphics and hobo codes, there is something truly fascinating about finding meaning that hides in plain sight. Though hidden messages in and of themselves are rarely useful or particularly interesting, it's the thrill of the hunt that piques our deepest curiosities." --- diff --git a/2013-03-11-uiappearance.md b/2013-03-11-uiappearance.md index 9a2a14f4..638af2f4 100644 --- a/2013-03-11-uiappearance.md +++ b/2013-03-11-uiappearance.md @@ -2,6 +2,7 @@ layout: post title: UIAppearance category: Cocoa +tags: nshipster excerpt: "UIAppearance allows the appearance of views and controls to be consistently defined across the entire application." --- diff --git a/2013-03-18-c-storage-classes.md b/2013-03-18-c-storage-classes.md index 1f4f4d8f..2c6bba09 100644 --- a/2013-03-18-c-storage-classes.md +++ b/2013-03-18-c-storage-classes.md @@ -2,6 +2,7 @@ layout: post title: "C Storage Classes" category: Objective-C +tags: nshipster excerpt: "In C, the scope and lifetime of a variable or function within a program is determined by its storage class. Understanding these storage classes allows us to decipher common incantations found throughout Objective-C" --- diff --git a/2013-04-08-bool.md b/2013-04-08-bool.md index 8d5786ca..5fd06a42 100644 --- a/2013-04-08-bool.md +++ b/2013-04-08-bool.md @@ -2,6 +2,7 @@ layout: post title: "BOOL / bool / Boolean / NSCFBoolean" category: Objective-C +tags: nshipster, popular excerpt: "Once again, encoding our logical universe into the cold, calculating bytecode of computers forces us to deal with these questions one way or another. And as you'll see from our discussion of boolean types in Objective-C and its kin, truth is indeed stranger than fiction." --- diff --git a/2013-06-02-nsdatadetector.md b/2013-06-02-nsdatadetector.md index 924f3968..7135f6cd 100644 --- a/2013-06-02-nsdatadetector.md +++ b/2013-06-02-nsdatadetector.md @@ -2,6 +2,7 @@ layout: post title: NSDataDetector category: Cocoa +tags: nshipster excerpt: "Until humanity embraces RDF for all of their daily interactions, a large chunk of artificial intelligence is going to go into figuring out what the heck we're all talking about. Fortunately for Cocoa developers, there's NSDataDetector." --- diff --git a/2013-07-08-nsexpression.md b/2013-07-08-nsexpression.md index ec03a708..9d1fdd91 100644 --- a/2013-07-08-nsexpression.md +++ b/2013-07-08-nsexpression.md @@ -2,6 +2,8 @@ layout: post title: NSExpression category: Cocoa +tags: nshipster +excerpt: "Cocoa is the envy of other standard libraries when it comes to querying and arranging information. With NSPredicate, NSSortDescriptor, and an occasional NSFetchRequest, even the most complex data tasks can be reduced into just a few, extremely-understandable lines of code." --- Cocoa is the envy of other standard libraries when it comes to querying and arranging information. With `NSPredicate`, [`NSSortDescriptor`](http://nshipster.com/nssortdescriptor/), and an occasional `NSFetchRequest`, even the most complex data tasks can be reduced into just a few, _extremely-understandable_ lines of code. diff --git a/2013-07-15-nspredicate.md b/2013-07-15-nspredicate.md index c625ddec..77a697d0 100644 --- a/2013-07-15-nspredicate.md +++ b/2013-07-15-nspredicate.md @@ -2,7 +2,7 @@ layout: post title: NSPredicate category: Cocoa -tags: popular +tags: nshipster, popular excerpt: "NSPredicate is a Foundation class that specifies how data should be fetched or filtered. Its query language, which is like a cross between a SQL WHERE clause and a regular expression, provides an expressive, natural language interface to define logical conditions on which a collection is searched." --- diff --git a/2013-07-22-uimenucontroller.md b/2013-07-22-uimenucontroller.md index c204f458..dd096f73 100644 --- a/2013-07-22-uimenucontroller.md +++ b/2013-07-22-uimenucontroller.md @@ -2,6 +2,7 @@ layout: post title: UIMenuController category: Cocoa +tags: nshipster excerpt: "Mobile usability today is truly quite remarkable—especially considering how far it's come in just the last decade. What was once a clumsy technology relegated to the tech elite has now become the primary mode of computation for a significant portion of the general population." --- diff --git a/2013-08-19-nshashtable-and-nsmaptable.md b/2013-08-19-nshashtable-and-nsmaptable.md index 4852f3ec..158edb8d 100644 --- a/2013-08-19-nshashtable-and-nsmaptable.md +++ b/2013-08-19-nshashtable-and-nsmaptable.md @@ -2,6 +2,8 @@ layout: post title: "NSHashTable &
NSMapTable" category: Cocoa +tags: nshipster +excerpt: "NSSet and NSDictionary, along with NSArray are the workhorse collection classes of Foundation. Unlike other standard libraries, implementation details are hidden from developers, allowing them to write simple code and trust that it will be (reasonably) performant." --- `NSSet` and `NSDictionary`, along with `NSArray` are the workhorse collection classes of Foundation. Unlike [ other standard libraries](http://en.wikipedia.org/wiki/Java_collections_framework), implementation details are [hidden](http://ridiculousfish.com/blog/posts/array.html) from developers, allowing them to write simple code and trust that it will be (reasonably) performant. diff --git a/2013-08-26-equality.md b/2013-08-26-equality.md index 5d498254..4306022d 100644 --- a/2013-08-26-equality.md +++ b/2013-08-26-equality.md @@ -2,6 +2,7 @@ layout: post title: Equality category: Objective-C +tags: nshipster excerpt: "The concept of equality is a central point of debate and inquiry in philosophy and mathematics, with far-reaching implications for matters of ethics, justice, and public policy. It is the task of programmers to reconcile our logical and physical understanding of equality with the semantic domains we model." --- diff --git a/2013-10-07-key-value-observing.md b/2013-10-07-key-value-observing.md index e8ff1ee3..92ed8559 100644 --- a/2013-10-07-key-value-observing.md +++ b/2013-10-07-key-value-observing.md @@ -2,7 +2,7 @@ layout: post title: "Key-Value Observing" category: Cocoa -tag: popular +tag: nshipster, popular excerpt: "Ask anyone who's been around the NSBlock a few times: Key-Value Observing has the _worst_ API in all of Cocoa. It's awkward, verbose, and confusing. And worst of all, its terrible API belies one of the most compelling features of the framework." --- diff --git a/2013-10-14-nserror.md b/2013-10-14-nserror.md index 3c6e2d78..07a1c2b6 100644 --- a/2013-10-14-nserror.md +++ b/2013-10-14-nserror.md @@ -2,6 +2,7 @@ layout: post title: NSError category: Cocoa +tags: nshipster excerpt: "NSError is the unsung hero of the Foundation framework. Passed gallantly in and out of perilous method calls, it is the messenger by which we are able to contextualize our failures." --- diff --git a/2013-11-18-nsfilemanager.md b/2013-11-18-nsfilemanager.md index 2ca5086f..bbfd38ed 100644 --- a/2013-11-18-nsfilemanager.md +++ b/2013-11-18-nsfilemanager.md @@ -2,6 +2,7 @@ layout: post title: NSFileManager category: Cocoa +tags: nshipster excerpt: "File systems are a complex topic, with decades of history, vestigial complexities, and idiosyncrasies, and is well outside the scope of a single article. And since most applications don't often interact with the file system much beyond simple file operations, one can get away with only knowing the basics." --- diff --git a/2014-01-27-stewardship.md b/2014-01-27-stewardship.md index 6c639ef3..772dc2ff 100644 --- a/2014-01-27-stewardship.md +++ b/2014-01-27-stewardship.md @@ -2,6 +2,7 @@ layout: post title: Stewardship category: "" +tags: nshipster excerpt: "Stewardship is an old word. It evokes the ethic of public service and duty. To be a steward is to embody the responsibilities that come with ownership. It is an act that justifies authority through continued accountability; both the greatest challenge and reward of creating and maintaining a project." --- diff --git a/2014-03-17-empathy.md b/2014-03-17-empathy.md index 29422260..40b55eea 100644 --- a/2014-03-17-empathy.md +++ b/2014-03-17-empathy.md @@ -2,6 +2,7 @@ layout: post title: Empathy category: "" +tags: nshipster excerpt: "We naturally want to help one another, to explain ideas, to be generous and patient. However, on the Internet, human nature seems to drop a few packets." --- diff --git a/2014-06-30-nsformatter.md b/2014-06-30-nsformatter.md index d70f471a..b98e9c71 100644 --- a/2014-06-30-nsformatter.md +++ b/2014-06-30-nsformatter.md @@ -2,6 +2,7 @@ layout: post title: NSFormatter category: Cocoa +tags: nshipster, popular excerpt: "Conversion is the tireless errand of software development. Most programming tasks boil down to some variation of transforming data into something more useful." created: "2013-11-11" updated: "2014-06-30" diff --git a/2014-07-14-nsoperation.md b/2014-07-14-nsoperation.md index 3396675e..fd992910 100644 --- a/2014-07-14-nsoperation.md +++ b/2014-07-14-nsoperation.md @@ -2,6 +2,7 @@ layout: post title: NSOperation category: Cocoa +tags: nshipster excerpt: "In life, there's always work to be done. Every day brings with it a steady stream of tasks and chores to fill the working hours of our existence. Productivity is, as in life as it is in programming, a matter of scheduling and prioritizing and multi-tasking work in order to keep up appearances." ---