An iOS developer’s bleeding-edge dream

Image for post
Image for post
Photo by the author.

Objective

We will introspect the Yelp GraphQL API using a Swift package and the Apollo iOS library. We will use the Apollo library again in the main project to work with the generated networking and model code. The app will observe your location and search input via Combine to display YELP API results in SwiftUI.

Image for post
Image for post

Setup 4/29/2020

I’m using Xcode 11 , Apollo 0.25.0, and SDWebImageSwiftUI 1.3.3.

If you just want to go straight to the code, then you can clone the project:

git clone https://github.com/joninsky/GraphQL-SwiftUI-Demo.git

You will need to create an account with Yelp and then navigate to the developer portal and generate a Client ID and API Key for your “App.” …


The two waves of software product automation.

Image for post
Image for post
Serverless, containers, big data, declarative frameworks and AI will all converge to make no code a reality.

Any person who has made a serious commitment to writing software professionally knows there is a hum of anxiety in the back of your head about becoming obsolete and or feeling like you are not good enough. Mix that with some well executed motivation and I’m confident you can stay ahead of the game.

I try to avoid cult like infatuations with people but I am a fan of sound bites. In this case Jeff Bezos has a good one.

“Focus on the things that will not change”

- Jeff Bezos

I would like to take that a step further and make the assertion that if you can spot trends that will eventually end up being foundational you can get really far ahead. …


Besides wanting to learn SwiftUI and Swift Package manger I have always thought a grid style menu could be a great alternative to hamburgers or tab bars.

Image for post
Image for post

The source code for this project can be found at this git hub repo.

Swift Package

I also wanted to break away from the cocoapods mindset so I decided to ship this as a Swift Package.

You could argue that you should not ship SwiftUI code in a Swift Package as a Swift Package can be used by anyone with the Swift runtime and SwiftUI is an exclusive Apple Framework. Also, Xcode allows you to open a swift package and build (command + B) however you can’t run “Live Reload” (option + command + P) unless you add it to a real project. Finally, SwiftUI is so powerful and concise that you could easily code this up on your own. …


A convergence of forces is making the scientific method more important than ever.

Image for post
Image for post

We all learned this one in school - “Facts are only a hypothesis that has not been proven wrong”

We are in the age of information and dis-information. Anyone can pull anything out of their ass and put it on the internet. Hell. That’s what I’m doing right now.

The scientific method is not someones thesis. It’s a succinct model that encapsulates the type of human thought that drives discovery, innovation, and change. Refined through the minds of enduring intellects throughout history.

There is a convergence of potentially powerful tools on our horizon. Quantum computing, Machine Learning / AI, and infinite cheep data are all combining to accelerate the pace of human progress. …


In our busy world compassion is an easy thing to avoid. Even if you are the person who openly admits you don’t care about certain things you can still gain perspective.

Image for post
Image for post

Why not make laws that help institutionalize this basic human emotion? If on an individual basis we get to choose to volunteer our time and money to a cause we deem worthy why not protect against bias by providing a basic level of income for people? Or providing a basic level of healthcare? Even more though provoking, a basic level of mental health care?

Suffering

It will never disappear from the world. It doesn’t matter how much we pray, how much technology we develop, or if we learn to manipulate our biologies. It’s a bleak and beautiful universe out there but the farther you look in time the bleaker it gets. Furthermore, humans are not masters of our destiny. We have the hottest year on record, weirdest weather I have ever seen, and Australia is being burned alive. Humans are very far from being able to end suffering. …


Impeachment is a catalyst for taming hyper partisanship.

It’s safe to say that impeachment of Donald Trump is “Live History”, an unsettling parallel to the fact that the sitting president is a reality TV star. America! Anything is possible.

Like most liberals I was shocked to see Donald Trump walking across his stage on election night. Slowly with dilated eyes like a shark he declared victory.

Image for post
Image for post

At this point every American should be aware of the hyper political polarization in our country. It was at its most visceral point on social media in 2016.

The Facts

We have learned a lot about the fact that our digital lives can be used to divide us. If this fact is a debate rather than a discussion to you then please go consider this Medium article from some UW researchers, topic II and III of the Muller Report, The Great Hack on Netflix and this bi-partisan Senate Intelligence Committee Report. …


Image for post
Image for post
ECS + Hasura = Amazing backend

We will be building a horizontally scalable GraphQL API that runs over a PostgreSQL database powered by AWS’s serverless Aurora product. We will be using Hasura for the GraphQL API, AWS ECR and ECS to run the docker image and AWS Cloudformation to deploy resources.

First, huge shout out to the team at Hasura. Their product allows any professional to feel like they are part of the GraphQL buzz and provides incredible value to any project.

To accomplish the article's title, we will need to assume some AWS resources are already in place.

  1. You should own a domain name and have a hosted zone for it on Route 53. …


Image for post
Image for post

MDM solutions for Apple products are simply a pain in the ass. After setting up two servers over the last month I decided to share the pitfalls I have encountered.

The goal is that you might recognize one of these as you inevitably encounter frustration working with these products.

We will start with the Apple Server program.

Pitfall 1 — SSL Cert

On the Apple Server program you will need some sort of SSL encryption or nothing will work. Apple helps you out a little and provisions the Apple Server program out of the box with a self signed certificate. …


This quick article assumes that you have an AWS CodeCommit repository set up and have access to it. It also assumes you have access to the GitHub repository that you want to migrate.

Image for post
Image for post

The key technique here is that you are going to clone a “bare copy” of your GitHub repo into a temporary place in your computer. I like to do this in my Downloads folder on my mac.

Open up a terminal and cd Downloads/ . Then, you will make a “bare copy” of your git hub repo like this:

git clone --mirror <git hub clone url> repository-migration

Note the name of the folder you are putting this “bare copy” into…


Image for post
Image for post

AWS CloudFormation has been an easy and worthwhile skill I have learned this last year. I’m particularly fond of YAML as you can leave comments (Not multi line 😢) in your templates. This is literally my first tip.

1. Comment up your template

As you progress as a developer you learn to be nice to your future self with comments. Comments in your code also seem to illicit compliments from peers about good code, that is a nice feeling! Your comments should have links to any documentation, Medium articles, or stack overflow questions. This is easy as AWS maintains mostly complete documentation about each service that can be used with CloudFormation. …

About

Jon Vogel

I contribute to the start-up grind in Seattle as an iOS Engineer. I also used to fly airplanes.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store