Ethics and bias in artificial intelligence development

by

In early November, the National Transportation Safety Board (NTSB) released its preliminary report on the fatal March 2018 collision between an Uber self-driving car and a pedestrian. The report reveals that the car’s self-driving technology suffered from numerous literal and figurative blind spots — among them, the inability to reliably identify a pedestrian outside a crosswalk. 

An introduction to smart contracts

by

You’re probably familiar with the basic idea of a contract. Let’s say, for example, that you’d like to buy a house. In the simplest case, you’d need a seller (someone who is willing to sell their house) and a lump sum of money; you and the seller could then create and execute a contract stating that you agree to exchange the money for ownership of the house. 

SIM swapping: Do hackers have your number?

by

Recently, I was browsing through the archives of the podcast Reply All (well worth doing, if you’re interested in unusual stories about how technology impacts our lives) when I came across an episode titled “The Snapchat Thief”. 

The gist of this episode is as follows: a young woman reports that her Snapchat account has been hacked, and asks asks the hosts of the show to help her investigate. She’s received emails from Snapchat telling her that her password has been changed and her account is now associated with a different phone number — and she’s also received threatening texts from the hacker, warning her not to report the hack to Snapchat. She’s spooked, and has no idea how the hacker gained access to her account, or even why they would want to. 

What’s new in iOS 13

by

On September 19, 2019, Apple released the latest major update to its iPhone and iPad operating systems: iOS 13. This iOS version introduces several significant changes that developers will need to be prepared to handle going forward. In this post, I’ll give a quick overview of the most impactful new features, and then dive into two especially important updates: dark mode and scene sessions.

Building a modular iOS app

by

At Grio, we’re often asked to improve our clients’ existing web and mobile apps — fixing problems, adding features, etc. — but many of our most interesting and exciting projects involve building a brand-new app entirely from scratch. I’ve had that opportunity on a recent project, which means that my colleagues and I have been thinking through some of the foundational decisions that can really only be made when you’re starting fresh. One of those decisions is monolithic vs. modular. 

You Need a Supervisor

by

Several of our folks recently attended ElixerConf in Colorado, where Grio’s John Palgut gave a lightning talk on protecting your app from crashes by using a Supervisor – enjoy!

 

Test, Never Trust: Dealing with external services when using Elixir and Phoenix

by

In his short story Thin Cities 3, author Italo Calvino describes a city reduced to its plumbing — a network of pipes, stripped of the streets, walls, and floors that would ordinarily conceal them. I like to picture this “thin city” when I’m testing software; diving beneath the superficial layers to probe the essential connections that keep information and experiences flowing. 

Fostering early collaboration between development and design

by

User-friendly software doesn’t happen by accident — the best products are designed intentionally, thoughtfully, and thoroughly before implementation begins. However, that doesn’t mean that developers shouldn’t play a role in the early stages of a project. In this post, I’ll talk about why you should bring your developers into design discussions and reviews, and recap a successful design-development collaboration on one of Grio’s recent client projects. 

Streamlining mobile development with CI and CD

by

Continuous integration (CI)  and continuous delivery (CD) have significantly improved both my productivity as a developer and my team’s ability to execute smoothly and efficiently on a variety of projects. In this post, I’ll explain how CI and CD work, talk a bit about the benefits of these practices, and walk through an example that illustrates how to set up your own CI/CD systems.