Shipping Code

Self-hosting a .NET API: Choosing between OWIN with ASP.NET Web API and ASP.NET Core MVC 1.0

Self-hosting a .NET API: Choosing between OWIN with ASP.NET Web API and ASP.NET Core MVC 1.0

Intro At uShip, our monolithic web application and the services supporting it are written in ASP.NET MVC, Web API, and hosted on IIS . We have begun the journey of transitioning to microservices. One of the important decisions we had to make early on was the choice of hosting model…Read more

Connectivity between Nginx and Consul-Template

Connectivity between Nginx and Consul-Template

Overview In the past couple of weeks, I have been wrestling with the connectivity between Nginx and Consul-Template.  While it’s fairly straightforward to get Consul-Template to control Nginx, having them work well within Docker isn’t the easiest thing in the world.  But that is jumping quite a bit forward, let’s…Read more

April Fools – Developer Style

April Fools – Developer Style

Here at uShip we are pretty big fans of open sourcing code. At the same time, we are also fans of a good ol’ prank. Hence, we have decided to open source a few of our favorite code pranks to share with the world (and just in time for April…Read more

JavaScript for C# Developers

JavaScript for C# Developers

Overheard at work today: “…this is why I hate JavaScript so much.” Sound like something you’d say? Instead of letting the hate flow through you, know that it doesn’t have to be like that. JavaScript is evolving quickly and picking up luxuries that C# has had for years. Subtle Differences…Read more

Does your REST API need an SDK?

Introduction When integrating with a platform that offers a REST API, a developer sometimes has the option of downloading the client library in their language of choice, or writing HTTP code themselves to integrate with the API directly. You as an API provider should decide early on if you wish…Read more

Populating UITableViewCells Asynchronously to Fix UITableView Lag

Note: This article was originally published on Github Abstract In general, the key to keeping the iPhone UI responsive is to avoid blocking the main thread. In the case of UITableView, this boils down to keeping tableView(_:cellForRowAtIndexPath:) as performant as possible. However, sometimes it is simply not possible to marshall…Read more

6 Major Lessons from uShip Hackathons

6 Major Lessons from uShip Hackathons

Over the past three years, hackathons at uShip have grown from an idea to a tradition. Ideally, we want each event to feel almost effortless in their planning and execution. While we’ve experienced many successes, we’ve also learned a lot of lessons along the way. Below are some of the…Read more

First Impressions of npm On-Site

First Impressions of npm On-Site

For the longest time we committed our entire node_modules folder here at uShip. We recently made the switch to npm On-Site. This is our journey. How We Use npm At uShip Here at the ‘Ship we don’t actually run a node server in production, we just use node for our…Read more

From Zero To Swagger: Retrofitting an Existing REST API to an API Specification Using Swagger

Introduction Here at uShip, our web services have gone through quite a change over the last few years. We have gone from SOAP based services to a RESTful API. Recently we dipped our toes into Swagger, an API specification framework, to provide more value to our developers and external partners….Read more

IdeaFlow for iOS

A couple months back, one of my fellow uShip developers popped his head into my team’s room at the end of the day.  “You guys going to the API meetup?”, he asked.  As an iOS developer, I don’t actually write APIs very often, but I’m interested enough in how consumable…Read more