Archive for 2017

Core Image for Swift Review

I recently completed reading Core Image for Swift by Simon Gladman. The book is available for free on iBooks. I had little previous exposure to Core Image, nor writing GLSL (the language Core Image filters are defined in) and I found this book a thorough and well written introduction.

To my knowledge, this is one of only two full-length book about Core Image. I have not read the other, but since its publication date (2012) predates Core Image for Swift (2016) by four years, I imagine it is somewhat out of date. Gladman is comprehensive in his coverage of the technology. He covers the built-in filters, creating various kinds of filters from scratch, image display options like GLView and MetalView, and peripheral technologies like vImage. In short, everything you would need to get started using Core Image for almost any purpose is covered in this book.

Gladman’s approach is one of using copious source code examples. Some people learn better from English explanations and some people learn better from code. This book will mostly appeal to the latter kind of reader. With that said, Gladman does take the time to explain basic information that the uninitiated in the digital image manipluation world will likely find helpful. Such as, how does a convolution filter work? The difference between various techniques and why you would use each is made clear throughout.

I read the book from cover-to-cover, which is probably not how most people would approach this book. The chapters are self-contained enough that you could probably just read the first few and then pick and choose chapters on topics that interest you. In my opinion each chapter is a more cogent explanation of the topic at hand than Apple’s documentation provides.

The biggest downside of Core Image for Swift is that it was written in the Swift 2 era, meaning its source code is now outdated and requires translation. Most of the source code in the book is provided in online repositories. However the repositories themselves have not been updated in over a year. Since Mr. Gladman began working at Apple last year, I think there is little hope the book itself will be updated either. We cannot blame book authors for writing books that get outdated. I just finished writing Classic Computer Science Problems in Swift, and with a fast moving target like Swift, it is likely that my book too will have some syntax incompatibilities with the latest version of Swift in a couple years. Xcode 9 is able to translate most of the code from Core Image for Swift into Swift 4 with little manual intervention beyond a lot of clicking “fix.”

Overall, Core Image for Swift is an excellent introduction to Core Image and I highly recommend it to anyone interested in this technology. Since it is free, it is a no brainer to at least download it and checkout the first chapter. Mr. Gladman’s blog is also work checking out. Many of the older posts are about Core Image.

Posted in , , , | 1 Comment

Annoucing Classic Computer Science Problems in Swift

I am pleased to announce the availability of my second book, Classic Computer Science Problems in Swift. Starting today, you can purchase early access to the book from Manning (use promo code mlkopec for 50% off through June 27th). I have completed drafts of the first six of eight chapters; three of which are available today from Manning, with the next three to follow over the summer. The final version of the book will arrive in Fall 2017, shortly after the release of Swift 4.

Classic Computer Science Problems in Swift is a great “second book on Swift.” It is aimed at those with some basic knowledge of Swift’s syntax who want to delve deeper into the covered problem solving techniques, brush up on core algorithms, or learn more Swift using problems familiar to them from other languages. It is suitable for professionals looking to deepen their understanding of the covered topics, students with some programming background looking to expand their computer science knowledge, and anyone preparing for coding interviews.

What is a “Classic Computer Science Problem?” It is a problem one typically finds in an undergraduate computer science curriculum. The topics covered in the book span the gamut from core computer science algorithms you would find in a data structures & algorithms class to artificial intelligence and its sub-discipline machine learning. There are both practical and whimsical problems. They include classic search problems, constraint satisfaction problems, graph algorithms, genetic algorithms, k-means clustering, simple neural networks, and more!

The book is not your typical app development book. You will not find any UIKit, App Kit, or full blown apps. Instead, you will be learning problem solving techniques (in Swift) that will make your apps more powerful, more efficient, and more featureful. All of the code in the book is Linux friendly (server-side Swift friendly) and available for easy perusal via a Playground on GitHub.

To learn more, checkout the Classic Computer Science Problems in Swift page on Manning’s website where you will find a full table of contents and free access to the Introduction and Chapter 2 (Search Problems). If the table of contents looks appealing to you, dive in with promo code mlkopec which will give you 50% off through June 27th!

Remember that you are purchasing a pre-release version of the book, so you will be joining me on the journey to its final release in the fall. You will be receiving rough drafts of chapters before they have been fully developed. I encourage you to send me your feedback, but keep-in mind that these are early days and everything is not yet perfect. You will receive the final version of the book upon publication.

Posted in , , , , , , | 3 Comments
Copyright 2012-2016 David Kopec. Powered by Blogger.

Search

Swedish Greys - a WordPress theme from Nordic Themepark. Converted by LiteThemes.com.