With the release of CircleCI 2.0, a new feature called Workflows is now included with the platform. Workflows allow you to specify how each of your individual jobs are related and define criteria about which jobs should be executed, and when. Workflows also have the ability to share data between jobs using a shared workspace. […]
Airship (recently rebranded from Urban Airship) is a service that you can integrate into your mobile app or web application. It allows you to send push notifications to a targeted segment of your users based on a variety of filter mechanisms, including a series of Tags and Tag Groups.
A little more than a year ago, I started working on my first project with native mobile applications. It has been wonderful learning the intricacies of the iOS and Android platforms, but I’ve noticed how cumbersome it is for a team to maintain two versions of the same application. It takes quite a bit of […]
If you are doing any sort of object-oriented development, you’re bound to reach a point where the number of objects in your codebase is greater than the amount you can keep in your head. Eventually, you will have so many different types of objects (services, managers, service-manager-helpers, etc.) that it gets hard to remember what […]
In early November, I helped run the Weekend For Good event as part of the Code For Good West Michigan admin team. The event brought together 120+ volunteers and 14 local nonprofits to help build, rebrand, or update websites. It was scheduled for three straight days, and I was there for all of it. It’s […]
Recently, my schedule has become quite busy, with various responsibilities competing for my time and focus. I find myself trying to hold onto as much context about these responsibilities as I can, but I can’t seem to remember all of the necessary information. After some careful reflection, I’ve found that I need to take more […]
I recently started using Exercism to enhance my proficiency with Ruby. It’s an excellent tool for learning a new language or refining your knowledge in a language you already know. The best part about it is that you can submit your solutions for a mentor to review and provide feedback.
My current Android project needs to be backwards-compatible with every Android version back to Android 4.4 (KitKat). Meeting this requirement can be difficult and frustrating for a number of reasons, but with KitKat installed on ~10% of all Android phones worldwide (at the time of this writing), it’s still worth supporting. One of the issues […]
While working in an agile environment, you may be assigned a user story that requires a very large amount of time and effort to implement. Typically, any user story estimated above a certain number of points should be broken down into multiple smaller, actionable user stories. Unfortunately, this does not always happen.
When I started on my current project, I noticed a few failing iOS builds on TeamCity that needed to be fixed. Since I was still on-boarding to the project and wanted to get my feet wet, I took it upon myself to resolve these issues as soon as possible.