Introduction Consul is a distributed key-value store, heavily opinionated towards service discovery. If you’re not familiar with the basics of service discovery, Gabriel Schenker, who we’ve had the pleasure of working with, has an excellent introduction to service discovery. In this blog post, we will cover how we set up and expanded our Consul cluster…. Read More
shipping code
Father’s Day for coders: Daddy Developer Tech Tips
Recently, my time has been a little pre-occupied. Not so much because of all the awesome new technical innovations I have been able to work on lately like microservices in .NET, nor because of the awesome new features happening in .NET that is causing a revolution in the linux space, but instead, it is because… Read More
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 for our microservice APIs. We… Read More
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 start with the problem before… Read More
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 Fool’s Day). But first, a… Read More
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 Before I get into the… Read More
What Nerds Rock Means To Us
uShip World Headquarters is located two blocks away from the Austin Convention Center. Some days we look out the window and see groups of educators, boat dealers, or people from various conferences taking place at the Convention Center strolling around the Austin streets. But no week is more packed with people than the annual South by… 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 to offer SDKs to your… 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 all of the data needed… Read More
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 takeaways from our team of… Read More