When Swift was announced back in 2014 I can remember thinking that I needed to make a pivot in my development approach and take all of my Objective-C knowledge and apply it towards developing in the Swift programming language going forward. At first, I thought Swift would be a one-for-one replacement of Objective-C and there would not be much of a difference in the development process other than the syntax.
Since the announcement of CoreML at WWDC this year I have been very excited to get in and start researching all the capabilities of Apple's new machine learning framework. One of the ideas I had to test the capabilities of CoreML was to build a recommendation engine to provide users of an application with musical recommendations based upon a library of known selections. CoreML would be used in this recommendation engine to fit musical selections to a machine learning model called a linear regression model.
Now that WWDC 2017 has officially come to a close I thought I would write a follow up recapping my wishlist from my previous article, Attending WWDC 2017, and then talk about some of the other big developer announcements from this year as well. First, let's recap Xcode command line tools. Xcode 9 had a lot of really nice updates this year.
Looking ahead to the rollout of Swift 4 on Jun 5th at WWDC I have been scanning the Swift Evolution Github page to get a feeling of which of the proposals will make the cut for Swift 4 and which proposals will push ahead to later version of Swift 4.*. One proposal in-particular that caught my attention was proposal 168, for multi-line string literals.
Throughout my career as a technical lead I have been put in charge of many different projects. Everything from mobile, to web, to server side development, and certainly a combination of all the above at the same time. Over the years, as I have grown as a technical leader and engineer, so have the size of the projects that I lead. And if there is one thing that I have learned along the way, it's that technical leadership and team management most certainly make an impact on the success of any project, large or small.
I see a lot of discussion on the internet about the usage of weak, and unowned objects in Swift. Recently, I was involved in a thread on Stack Overflow discussing the proper usage of weak references and it occurred to me that since I see so much discussion about this topic it would be good to write a post detailing my understanding on the usage of weak references.