Toptal Blog

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

EngineeringIcon ChevronWeb Front-end

JavaScript Prototype Chains, Scope Chains, and Performance: What You Need to Know

by Diego Castorina

JavaScript is much more nuanced than most developers initially realize. Even for those with more experience, some of JavaScript's most salient features continue to be misunderstood and lead to confusion. One such feature, described in this article, is the way that property and variable lookups are performed and the resulting performance ramifications to be aware of.

11 minute readContinue Reading
EngineeringIcon ChevronTechnology

Buggy C# Code: The 10 Most Common Mistakes in C# Programming

by Patrick Ryder

C# is a powerful and flexible language with many mechanisms and paradigms that can greatly improve productivity. Having a limited understanding or appreciation of its capabilities, though, can leave one in the proverbial state of “knowing enough to be dangerous”. This article describes 10 of the most common programming mistakes made, or pitfalls to be avoided, by C# programmers.

19 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

A Guide to UTF-8 Encoding in PHP and MySQL

by Francisco Clariá

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
EngineeringIcon ChevronData Science and Databases

Fixing the “Heartbleed” OpenSSL Bug: A Tutorial for Sys Admins

by Gergely Kalman

A potentially critical problem, nicknamed "Heartbleed", has surfaced in the widely-used OpenSSL cryptographic library. The vulnerability is particularly dangerous in that potentially critical data can be leaked and the attack leaves no trace. As a user, chances are that sites you frequent regularly are affected and your data may have been compromised. As a developer or sys admin, sites or servers you're responsible for are likely to have been affected. Here are the key facts you need to know about this dangerous bug and how to mitigate your vulnerability.

< 5 minute readContinue Reading
EngineeringIcon ChevronFreelancing

How to Travel While Working: The Traveling Engineer's Survival Guide

by Breanden Beneschott

As Co-Founder and COO, Breanden Beneschott has been effectively running Toptal, a venture-funded company growing hundreds of percent year over year, while traveling across the globe. Breanden shares his tips and experiences as a successful traveling engineer and entrepreneur, including his perspective on the benefits of this new lifestyle.

13 minute readContinue Reading
EngineeringIcon ChevronTechnology

Adventures in GPS Programming and Development: A Geospatial 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

Join the Toptal® community.