Toptal Engineering Blog

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional freelance software engineers in the Toptal network. Subscribe today for email updates.
Headshot.jpg
HSA For Developers: Heterogeneous Computing For The Masses

HSA is a set of standards and specifications designed to allow further integration of CPUs and GPUs on the same bus. This is not an entirely new concept, but HSA takes it to the next level. HSA would effectively take the developer out of the equation, at least when it comes to assigning different loads to different processing cores.

In this post, Toptal Technical Editor and resident chip geek Nermin Hajdarbegovic takes a closer look at HSA and the future of heterogeneous computing in general. Get ready for some good news, but don’t forget to brace for bad news first.

Continue reading →
Small img 5720
Getting Started with Elixir Programming Language

Elixir, a dynamic, functional programming language, is designed for building scalable and maintainable applications with a simple, modern, and tidy syntax. Although it is easy to understand, Elixir’s approach to concurrency and its data type nuances require some getting used to.

In this article, Toptal engineer Kleber Virgilio Correia gives us a comprehensive guide to the various basic data types in that are available in Elixir.

Continue reading →
Small c8b9b51200810a301e6492de15175882
Handling Intensive Tasks with Laravel

When dealing with time consuming, resource intensive tasks, most PHP developers are tempted to choose the “quick hack route”. We’ve all used “ini_set(‘max_execution_time’, HUGE_INT);” before, but it doesn’t have to be this way.

In today’s tutorial, PHP developer Daniel Gheorghe demonstrates how an application’s user experience may be improved by separating long-running tasks from the main request flow using Laravel.

Continue reading →
Small profile
Toptal's Quick and Practical CSS Cheat Sheet

As software engineers, we’re always searching for the best tools and guides that will help us to be more productive while spending less time searching and reading long technical specifications.

Today, Toptal is pleased to present an entirely new resource to the community as a free download: a CSS Cheat Sheet. Toptal’s CSS Cheat Sheet is a quick CSS reference guide, and includes CSS syntax, the most important selectors, properties, sizes, and units, and other useful CSS details, all in a short, easily understandable format.

Continue reading →
Headshot.jpg
Rethinking Authentication And Biometric Security, The Toptal Way

How does one secure a vast, distributed network of tech talent? There are three ways of doing this: the right way, the wrong way, and the Toptal way. Today, we will be discussing the latter, and unveiling our plans for a comprehensive overhaul of our onboarding and authentication procedures.

In this post, Toptal Technical Editor Nermin Hajdarbegovic will help you get acquainted with our brand new processes. Since all Toptalers will be required to use our new security platform, we encourage you to comment and contribute to our efforts.

Continue reading →
Small 1e6a17266833e16558e5b5b323ae5f85
Mastering 2D Cameras in Unity: A Tutorial for Game Developers

Camera systems are very important in conveying the right atmosphere in video games. When developing games, even 2D ones, advanced cameras should be your tool of choice.

In this article, Toptal engineer Mihai Cozma shows us how to build a modular camera system for 2D platform games using some simple components in Unity that can be easily extended to 2.5D or even 3D games.

Continue reading →
Small 4ea1ab957eddfe4f5eda7872c354d144
The 9 Most Common Mistakes That Ionic Developers Make

Ionic is extremely popular at the moment, and it has revolutionized the hybrid application industry in a way that nobody could have imagined. However, over time, the best practices and tooling for Ionic have not progressed in the same way. As a result, the number of pitfalls that developers need to look out for when working with Ionic is still high.

In this article, Toptal Freelance Software Engineer Julien Renaux outlines the most common mistakes that Ionic developers should know.

Continue reading →
Small 352eea2abd12ff90bdf71aa36a41b868
How to Create a Simple Python WebSocket Server Using Tornado

The threaded model and global interpreter lock has always been in the way of Python handling thousands of concurrent long-lived connections. Modern web frameworks, such as Tornado, use non-blocking network I/O to make Python feasible for implementing WebSocket servers.

In this article, Toptal engineer Jongwook Kim walks us through the process of implementing a simple WebSocket-based web application in Python using the Tornado web framework.

Continue reading →
Small c762c3b4ea8fd265e30d5d805a4ac5c3
Top Ten Front-End Design Rules For Developers

Truly understanding design is easier said than done. Coding and aesthetic design require very different skill sets, which is why some front-end developers aren’t as proficient in design as they could be, and the quality of their work suffers for it.

In this post, Toptal Freelance Software Engineer Bryan Grezeszak explains why good front-end developers have to follow essential design principles down to the pixel, and should regularly seek out advice and feedback from their designers.

Continue reading →
Rohit
A Tutorial on Drill-down FusionCharts in jQuery

When dealing with data analysis, most companies rely on MS Excel or Google Sheets, but dealing with data presented this way isn’t very eye-catching or intuitive. It’s once you add visualizations to this data that things become a little easier to manage. That’s the topic of today’s tutorial by our guest author from Adobe, Rohit Boggarapu. Join us as he guides us though the process of making interactive drill-down charts using jQuery and FusionCharts.

Continue reading →
Small 96593ad4719634f9319c0aff41e2b686
Boost Your Productivity With Amazon Web Services

In the rapidly evolving Internet world, getting things done fast is always critical. Still, developers today waste hundreds of hours on tasks not related to programming: setting up databases or caches, deploying projects, monitoring online statistics, and so on.

In this article, Toptal Freelance Software Engineer Minhao Zhang guides us in a step-by-step tutorial on how to reduce waste by setting up your first virtual machine using Amazon Web Services, and introduces the most widely used AWS services that can boost your productivity in minutes.

Continue reading →
Small 2977d740802ea7713b3a1232465f90b7
Writing Testable Code in JavaScript: A Brief Overview

Writing code that is easily testable takes some effort and planning. However, some patterns exist that can be used to write simple and functional code, making it easier to test them when the time comes.

In this article, Toptal engineer Joshua Mock shares some useful tips and patterns for writing testable code in JavaScript that are both simple to understand and simple to implement.

Continue reading →
Small 4e4bd2463e1f052d586f22cc46015485
Android Developer’s Guide to Fragment Navigation Pattern

Navigation in mobile applications, when done right, can have tremendous positive impact on overall user experience. Android offers application developers multiple ways of implementing navigation in their application. However, not all navigation patterns are created equal.

In this article, Toptal engineer Becze Szabolcs shows us how to implement fragment-based navigation and how it stacks up against Android’s traditional navigation philosophy.

Continue reading →
Small 5e0a7e6d98173cb4cb471dae9810466b
How to Bootstrap and Create .NET Projects

To create a .NET project from scratch, simply using Visual Studio Wizard is good enough most of the time. However, the default project settings produced by wizards are hardly acceptable for professional teams, as they set too low of a bar on quality.

In this article, Toptal Freelance Software Engineer Andrei Smirnov guides us through several standard practices, configuration files, and project settings every developer should apply when starting a new .NET project. Doing this in the very beginning of a project decreases future technical debt and makes product source code readable and professional-looking.

Continue reading →
Small 0fde3151249ff8066feb3b3b365bc4f3
Introduction To PHP 7: What's New And What's Gone

If you haven’t been working with PHP lately, you might wonder what happened to PHP 6. Why the skip from PHP 5 to PHP 7? Well, long story short, PHP 6 was a failure. To avoid confusion, the new version was renamed PHP 7.

PHP 7 introduces a number of new features, while at the same time dropping depreciated SAPIs and extensions. As a result, it tends to outperform PHP 5.x by a wide margin. Some compatibility issues could pose a problem, but most developers have nothing to worry about.

In this post, Toptal Freelance Software Engineer Vilson Duka explains what makes PHP 7 different, and why it’s time to make the switch.

Continue reading →
Small 381d66f4dc6f08fca81a08ce84f4a597
To Python 3 and Back Again: Is It Worth the Switch?

Since its debut in 2008, Python 3 has come a long way. Gone are the days when it lacked support for almost all useful libraries and tools. Python 3 offers many improvements and amazing new features that make writing robust code in Python easier than ever.

In this article, Toptal engineer Dario Bertini discusses some of the improvements and features that Python 3 has to offer, and explains whether switching to Python 3 is a smart choice right now.

Continue reading →
Small 97641efd5dff096e8e8806ee5770c85c
Developer's Guide to Improving Project Structure in Meteor Applications

Meteor is a framework for rapidly building real-time JavaScript web applications. It can be used to build complex applications with amazing ease. However, that can often result in adoption of bad development practices and poorly structured code.

In this article, Toptal engineer Darion Cassel shares some simple ways to improve the structure of your next Meteor-based web application without resorting to complicated boilerplates and scaffolding tools.

Continue reading →
Small d20983991b311187e34d43d68298169b
An Introduction to Robot Operating System: The Ultimate Robot Application Framework

Robot Operating System, a framework for building robot applications, allows developers to assemble a complex system by connecting existing solutions for small problems.

In this article, Toptal engineer Adnan Ademovic gives us a step-by-step tutorial to building software for an onboard computer that allows us to remotely control and monitor a robot and running it in a simulated world using Robot OS.

Continue reading →
Small 12a80cb8701ca188c0e7efef6c10ca5c
Guide: Software Release Management For Small Teams

Small teams frequently have to compete with bigger, more structured organizations who are capable of allocating more resources to project management, and software release management in particular. This means that small teams, or even individual developers, need to properly organize and execute their release process in order to keep up.

In this article, Toptal Freelance Software Engineer Lucas Mancini focuses specifically on small startups, teams that don’t have, or can’t afford, DevOps support, or teams that don’t have a formal process defined for releasing new versions of their product. The author provides a suggested checklist method to manage releases, tailored to match his past experience working on different projects, together with some recommended best practices and guidelines.

Continue reading →
Small fba1b10b8bb14c356c26bc34448953d1
How to Get Rounded Corner Shapes In C++ Using Bezier Curves and QPainter: A Step by Step Guide

The current trend in graphic design is to use a lot of rounded corners in all sorts of shapes. We can observe this on many web pages, mobile devices, and desktop applications, as rounded corners make the user interface feel smoother and nicer. However, what if we have to generate rounded corners on the fly, and we cannot preload it from an image?

In this article, Toptal Freelance Software Engineer Bojan Kverh guides us in a step-by-step tutorial on how to develop a simple class in C++ that can turn a complex polygon into a shape with rounded corners using Bezier curves and QPainter.

Continue reading →
Small 0ca3b4f22fefadf57fb41d0bae5e647b
Service Oriented Architecture with AWS Lambda: A Step-by-Step Tutorial

AWS Lambda offers a relatively thin service with a rich set of ancillary configuration options, making it possible to implement easily scalable and maintainable applications leveraging these services.

In this article, Toptal engineer Andrew Crosio gives us a step-by-step tutorial for building an image uploading and resizing service and demonstrates how AWS Lambda can be used as a platform to easily build service oriented architecture applications.

Continue reading →
Subscribe
The #1 Blog for Engineers
Get the latest content first.
No spam. Just great engineering and design posts.
The #1 Blog for Engineers
Get the latest content first.
Thank you for subscribing!
You can edit your subscription preferences here.
Trending articles
Toptal Authors
Breanden Beneschott
Co-founder / COO @ Toptal
Freelance Designer
Freelance Software Engineer
Hyam Singer
VP, User Engagement @ Toptal
Freelance Software Engineer
Paul Barnes
Head of Projects @ Toptal