Toptal Blog

The Toptal Blog is the top hub for developers, designers, management consultants, executives, and entrepreneurs, featuring key technology updates, tutorials, freelancer resources, and management insights.

Share
Share
Toptal core team members share their experience, expertise, and perspectives on the Toptal Edge Blog

Featured in

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

A Guide to UTF-8 Encoding in PHP and MySQL

Once you step beyond the comfortable confines of English-only character sets, you quickly find yourself entangled in the wonderfully wacky world of UTF-8.

Indeed, navigating through UTF-8 related issues can be a frustrating and hair-pulling experience. This post provides a concise cookbook for addressing these issues when working with PHP and MySQL in particular, based on practical experience and lessons learned.

10-minute readContinue Reading
Francisco Clariá

Francisco Clariá

Francisco is an engineer focused on cross-platform apps (Ionic/Cordova) and specialized in hardware-software technology integration.

Adventures in GPS Programming and Development: A Geospatial Tutorial

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
Tomo Krajina

Tomo Krajina

Tomo is a Java, Android, and Golang developer with 13+ years of experience. He has worked on telecom, and banking systems.

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

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
Antonio Bello

Antonio Bello

Versatile professional with 20+ years experience in a variety of technologies, today focusing mostly on iOS, Swift, Objective C and backend

Go Programming Tutorial: Golang by Example

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
Brendon Hogger

Brendon Hogger

Brendon is a software engineer who has worked in a variety of industries, including fintech and telecommunications. He has extensive experience implementing high-availability, high-traffic web applications, and has worked with a wide range of programming languages and technologies, including Go, Python, Erlang, and Elixir.

A Deep Learning Tutorial: From Perceptrons to Deep Networks

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
Ivan Vasilev

Ivan Vasilev

Ivan is an enthusiastic senior developer with an entrepreneurial spirit. His primary focuses are in Java, JavaScript and Machine Learning.

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

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
Denis Kyorov

Denis Kyorov

Denis is an experienced Python/Go developer (7+ years) who has contributed to a wide range of challenging back-end projects.

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

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
Diego Castorina

Diego Castorina

Diego has been a senior freelance engineer for the likes of Italian telecom powerhouse Italtel. He also cofounded a web-based CRM business.

Mobile App Development vs. Mobile Web Development: When, Why, and How

Mobile web development—optimizing web apps for mobile devices—is necessary for modern apps. Discover the best methods and tools for the development of highly functional, intuitive, and easy-to-use mobile web apps.

13-minute readContinue Reading
Tomas Agrimbau

Tomas Agrimbau

Tomas is a seasoned web developer proficient in both front-end and back-end development with PHP. He excels in responsive web design.

Python Class Attributes: An Overly Thorough Guide

In a recent phone screen, I decided to use a class attribute in my implementation of a certain Python API. My interviewer challenged me, questioning whether my code was syntactically valid, when it was executed, etc. In fact, I wasn’t sure of the answers myself. So I did some digging.

Python class attributes: when (or how) to use them. In this guide, I walk you through common pitfalls and conclude with a list of valid use cases that could save you time, energy, and lines of code.

11-minute readContinue Reading
Charles Marsh

Charles Marsh

Charles has been an engineering lead at Khan Academy, Cedar, and Spring Discovery.

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

Join the Toptal® community.