Quite recently a team member wanted to suggest interesting technical books to read for a junior engineer. I figured I might as well write my top 5 books here, in no particular order. I believe every Software Engineer should own these books, but reading them is a very good start ;) The Pragmatic Programmer: From journeyman to master If you…
Miguel Quinones
https://www.miqu.me/ · 20 posts · history since 2015 · active
28 Jan 2018
16 Jun 2017
This year I had the privilege of attending WWDC for the first time. I knew the labs were very important, and I want to share a resolution to fix a problem for our big project at Peak: Autocompletion on Swift code was not working most of the time in the IDE, and with the help of an Apple engineer in…
21 May 2017
I recently read a great post by Benjamin Encz about bridging Swift to Objective-C by creating bridging types that can be exposed to the older language. I wondered if his idea can be improved and automated using meta-programming with Sourcery by Krzystof Zablocki. The answer is a very impressive ObjC-like uppercase YES. First of all, you should read Benjamin’s post.…
29 Jan 2017
This weekend I wanted to setup Precompiled Bridging Headers for my project. This setting is available in the new Xcode 8.3 beta. Then building for latest official XCode (8.2.1) the code will not compile because the Swift compiler doesn’t recognize it. How do we use different build settings for different Xcode versions? Only possible with xcconfig files. There’s an undocumented…
22 Jan 2017
There’s times when you need to investigate regressions in your project, and you don’t know have any clue as why something is happening. Git bisect is the best tool for this cases, but it can be painful to use in non small projects using CocoaPods and Xcode. I want to share what I’ve been doing to ease the pain. If…
28 Nov 2016
Have you encountered this error when upgrading to the latest CocoaPods (1.1.0), or sharing a library between your iOS App and your extension? 1 'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead. If yes, continue reading, as you might have encountered same issue as myself. I’ve recently had to upgrade…
19 Nov 2016
Last thursday I gave a talk at NSLondon meetup called ‘Minimum Viable Tooling’. The topic was examples of approaching tooling and automation for small teams. I showed real examples of what we do at Peak, where I currently work. One of the things people showed interest in after the talk was how we deal with localizations. In this post I…
26 Oct 2016
Today I want to share a small utility we’ve been using for a while at Peak, my current workplace, to control the system time inside the application and save time while testing or debugging. In most application code you’ll eventually end up with tasks that need to execute periodically, or after some time has passed. The period of time will…
16 Aug 2016
Much of the literature and writing related to sofware development focuses on the creation, new ideas, fresh ideas and things to improve in your next project. But when is it a good moment to delete the old stuff in an long term project? Here’s my short rant about this; I recently deleted a chunk of code in my current project…
31 Jul 2016
I always like to check the new build settings and analyzer improvements of every Xcode release. And this year’s main release includes a couple of goodies. Let’s check them out! Analyzer improvements From the current Xcode 8 beta 3 release notes: ‘Misuse of null’ or CLANG_ANALYZER_NONNULL The static analyzer check for nullability violations supports both aggressive and less aggressive levels…
22 Apr 2016
As an application developer I get to use many third party code to integrate it into my current project. I want to share a checklist of things a user of an SDK really appreciates. Documentation This is the most important part of any SDK, be it open source or closed source. Users don’t need to understand your code, or learn…
21 Jan 2016
The latest xcode beta is available for downloading. There are many improvements, and the usual problems with stuff that stops working… Ah the love of Apple for it’s developers :). But I want to tell you about a feature that caught my attention: New analyzer settings! New analyzer settings From the release notes: The static analyzer warns when nil is…
14 Dec 2015
Having worked in companies developing their own products, I’ve faced many times the problem developers encounter when building iOS applications: Your biggest 3rd party dependency - the OS SDK - is changing under you every year. How does your team deal with this in a maintainable way? Long-term projects Unless you do consulting or freelancing, chances are that you will…
5 Dec 2015
Swift is finally open source! This is great because of many reasons, namely the transparency and chances to learn from the people responsible of building the foundational language you work on. I’ve been checking how easy was to build the runtime, REPL and compiler, and it turns out the team made an excellent job to make the process very easy.…
19 Nov 2015
‘Know your key shortcuts’ is the mantra of the productive programmer. I’ve chosen to try using the same keybindings everywhere, investing time and learning Vim. And using xvim in Xcode. In this article I’m going to try to explain why I did this, and I’ll share my experience of the process. Knowing your IDE and being productive in it, is…
15 Nov 2015
I’ve recently changed workplace - we’re hiring! - and I’ve jumped into an existing codebase. This is a good time to review what I like to do when I start to work on a project in these circumstances. When you don’t start a greenfield project, which is most of the time for many developers, you need to rapidly and effectively…
9 Sept 2015
In a previous post, I wrote about the choice of paradigms that Swift presents for it’s target audience. I also gave my opinion on how people with different backgrounds might see and approach the Functional Programming paradigm. In this post I want to share how I started to take advantage of FP with Swift for the practical domain of iOS…
31 Aug 2015
It’s a very exciting time to be an iOS or Mac developer. The platform moves very fast and we got a new toy (language) to play with: Swift. It’s the perfect time to reevaluate, learn and evolve as a programmer, because you will be forced to adopt this new language (yes, I think Swift is the future, 100%). I want…
20 Aug 2015
Yesterday my last post on the series ‘Let’s build Freehand Drawing for iOS’ has been published at Badoo Tech blog. It’s been a very good experience for me, and of course I recommend you visit the tutorials if you are interested. I divided the tutorials in 3 parts: Part 1: Introduces the feature and a naive implementation Part 2: Adds…
7 Aug 2015
One commit a day. A lesson I’ve learned the hard way when dealing with long-term side projects. The first push You are starting a new side project. That new library, framework, cool app idea or just a hack you had in your mind for long time. Starting it is easy, as you find some spare time and kick off your…