Toptal Engineering Blog

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional software engineers in the Toptal network.

EngineeringIcon ChevronTechnology

Adventures in GPS Programming and Development: a Geospacial Tutorial

by Tomo Krajina

This post explores some of the more common types of GPS tracking errors to expect with low-end GPS devices, providing an understanding of what causes them as well as some approaches for correcting them. The techniques outlined can provide users of low-end GPS devices with a reasonable level of automated improvement of the accuracy of their GPS tracks.

14 minute readContinue Reading
EngineeringIcon ChevronMobile

iOS User Interfaces: Storyboards vs. NIBs vs. Custom Code

by Antonio Bello

I often hear iOS developers ask some variant of the same key question: "What's the best way to develop a UI in iOS: through Storyboards, NIBs, or code?" Answers to this question, explicitly or implicitly, tend to assume that there's a mutually exclusive choice to be made, one that is often addressed upfront, before development. I'm of the opinion that there's no single choice to be made. Rather, each option has its strengths and weaknesses—and there's no need to use any one of them in isolation.

14 minute readContinue Reading
EngineeringIcon ChevronTechnology

Go Programming Language: An Introductory Golang Tutorial

by Brendon Hogger

Go is a relatively new language with a number of attractive features. It's great for writing concurrent programs, thanks to an excellent set of low-level features for handling concurrency. In many cases, though, a handful of reusable abstractions over those low-level mechanisms makes life much easier. This introductory tutorial walks you through building one such abstraction: a wrapper that can turn any data structure into a transactional service in Go.

17 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

A Deep Learning Tutorial: From Perceptrons to Deep Networks

by Ivan Vasilev

The recent resurgence in Artificial Intelligence has been powered in no small part by a new trend in machine learning, known as "Deep Learning". In this article, I'll introduce you to the key concepts and algorithms behind Deep Learning, beginning with the simplest building block.

21 minute readContinue Reading
EngineeringIcon ChevronLifestyle

Hosting a Tech Conference for a Software Developer Network: The CordobaJS Event

by Ramiro Agustin Palacios

Beyond its beauty, in recent years Córdoba has been enjoying a rapidly growing reputation as a technology center, one that may soon rival Buenos Aires as Argentina’s main technology hub. Last month, Toptal coordinated and hosted a highly successful and well-attended JavaScript Technical Conference in Córdoba, Argentina. Read about how the event came together and the vibrant network of software developers in and around Córdoba.

9 minute readContinue Reading
EngineeringIcon ChevronWeb front-end

Django, Flask, and Redis Tutorial: Web Application Session Management Between Python Frameworks

by Denis Kyorov

I love and use Django in lots of my personal and client projects, mostly for those involving relational databases and more classical web applications. However, by design, Django is very tightly coupled with its ORM, Template Engine System, and Settings object. Plus, it's not a new project: it carries a lot of baggage from the past to remain backwards compatible. In a few of my client projects, we've chosen to give up on Django and use a micro framework like Flask, typically when the client wants to do some interesting stuff with the framework. At the same time, we often need user registration, login, and more, all of which is easily handled with Django. The question emerged: is Django an all-or-nothing deal? Should we drop it completely from the project, or is there a way to combine some it with the flexibility of other frameworks?

9 minute readContinue Reading
EngineeringIcon ChevronTechnology

Concurrency and Fault Tolerance Made Easy: An Akka Tutorial with Examples

by Diego Castorina

Writing concurrent programs is hard. Having to deal with threads, locks, race conditions, and so on is highly error-prone and can lead to code that is difficult to read, test, and maintain. This post provides an introductory guide to the Scala-based Akka framework, showing (with code samples) how Akka facilitates and simplifies the implementation of robust, concurrent, fault-tolerant applications.

13 minute readContinue Reading
EngineeringIcon ChevronLifestyle

Busting the Top 5 Myths About Remote Workers

by Scott Ritter

With an 80% increase in the remote workforce from 2005 to 2012, there must be more to the picture than meets the eye. This post pulls the rug out from under 5 of the most prevalent myths about remote workers, with a specific focus on the software development industry.

9 minute readContinue Reading

Join the Toptal® community.