NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa. Updated weekly.

This Week...

mac​OS Character Viewer

Ever see a character and wonder what it was? Ever want to insert a character but couldn’t figure out how to type it? You can find the answer to these questions and many more at the bottom of the Edit menu in macOS.

Continue Reading

Recent Articles


With a mouse, anyone can use a computer, even if they aren’t a “computer person”. …though, if you are a “computer person”, you use keyboard shortcuts for most operations, and automate the rest from the Terminal.

Swift Development with Visual Studio Code

VSCode is a cross-platform text and source code editor from Microsoft, and among the first tools to support Language Server Protocol. With the previously announced support for LSP for Swift now available in early development, it’s a great time to see how this integration works for yourself.


Playgrounds use a combination of language features and tooling to provide a real-time, interactive development environment. With the CustomPlaygroundDisplayConvertible protocol, you can leverage this introspection for your own types.

Language Server Protocol

Apple’s adoption of LSP is arguably the most important decision they’ve made for Swift since releasing the language as open source in 2014. It’s a big deal for app developers, and it’s an even bigger deal for Swift developers on other platforms.


Void has no members: no methods, no values, not even a name. It’s a something more nothing than nil.