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 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
EngineeringIcon ChevronWeb Front-end

Developing Mobile Web Applications: When, Why, and How

by Tomas Agrimbau

With the increasingly ubiquitous nature of mobile devices and applications, if you’re not already thinking about mobile apps, you probably should be. This post focuses on methodologies and tools to employ, and pitfalls to avoid, in the development of highly functional, intuitive, and easy-to-use mobile web apps.

13 minute readContinue Reading
EngineeringIcon ChevronTechnology

Python Class Attributes: An Overly Thorough Guide

by Charles Marsh

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. No one really knows when (or how) to use 'em. In this guide, I walk 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
EngineeringIcon ChevronTechnology

Elasticsearch for Ruby on Rails: A Tutorial to the Chewy Gem

by Arkadiy Zabazhanov

Elasticsearch provides a powerful, scalable tool for indexing and querying massive amounts of structured data, built on top of the Apache Lucene library. Building on the foundation of Elasticsearch and the Elasticsearch-Ruby client, we've developed and released our own improvement (and simplification) of the Elasticsearch application search architecture that also provides tighter integration with Rails. We've packaged it as a Ruby gem named Chewy. This post discusses how we accomplished this, including the technical obstacles that emerged during implementation.

12 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

Modernizing Legacy Software: MUD Programming Using Erlang and CloudI

by Michael Truog

The need to adapt legacy code and systems to meet modern day performance and processing demands is widespread. This post provides a case study of the use of Erlang and CloudI to adapt legacy code, consisting of a decades-old collection of multi-user game software written in C, to the 21st century.

7 minute readContinue Reading

Join the Toptal® community.