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.

Toptalauthors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.
Share

Featured in

Buggy Java Code: The Top 10 Most Common Mistakes That Java Developers Make

Java, a sophisticated programming language, has been dominating a number of ecosystems for quite a while. Portability, automated garbage collection, and its gentle learning curve are some of the things that make it a great choice in software development. However, like any other programming language, it is still susceptible to developer mistakes.

This article explores the top 10 common mistakes Java developers make and some ways of avoiding them.

14-minute readContinue Reading
Mikhail Selivanov

Mikhail Selivanov

Mikhail has extensive experience as a back-end programmer and has many successful projects in all stages of development under his belt.

Logstash Tutorial: Using Logstash to Streamline Email Notifications

Toptal engineer Jurgens du Toit looks at the possibility of using Logstash to regain control of your inbox and make your error emails manageable again, all without changing a single thing in your app.

Logstash can effectively leverage the power of Elasticsearch and Amazon SNS to streamline email notifications and save time.

5-minute readContinue Reading
Jurgens du Toit

Jurgens du Toit

As an expert full-stack developer with a deep knowledge of the internet and web applications, and an ability to meet client requirements.

World-class articles, delivered weekly.

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

Installing Django on IIS: A Step-by-Step Tutorial

Although the most wide-spread and supported way of running Django is on a Linux system (e.g., with uwsgi and nginx), it actually doesn’t take much work to get it to run on IIS. In this article, Toptal Engineer Ivan Voras walks you through a step-by-step tutorial, clearly explaining how to install Django on IIS.

10-minute readContinue Reading
Ivan Voras, PhD

Ivan Voras, PhD

Ivan’s 15+ years of back-end and blockchain architecture has seen everything from DBA ops to development of OS kernel modules (FreeBSD).

Building Business Rules Engines with Drools - Power to the SMEople

A business rules engine is a tool for executing business rules. Business rules are composed of facts and conditional statements. Any “if-then” statement that appears in traditional business logic qualifies as a business rule.

11-minute readContinue Reading
Jeff Marin

Jeff Marin

With 30+ years as an engineer, PM, and director, Jeff’s worked in financial, entertainment, manufacturing, and medical tech, among others.

Predicting Likes: Inside A Simple Recommendation Engine’s Algorithms

The Internet is becoming “smarter” every day. The video-sharing website that you frequently visit seems to know exactly what you will like, even before you have seen it. The online shopping cart holding your items almost magically figures out the one thing that you may have missed or intended to add before checking out. It’s as if these web services are reading your mind—or are they?

Turns out, predicting a user’s likes involves more math than magic. In this article we explore one of the many ways of building a recommendation engine that is both simple to implement and understand.

15-minute readContinue Reading
Mahmud Ridwan

Mahmud Ridwan

Mahmud is a software developer with many years of experience and a knack for efficiency, scalability, and stable solutions.

Ruby Concurrency and Parallelism: A Practical Tutorial

A thorough and practical introduction to concurrent and parallel programming in Ruby, presenting and contrasting a number of techniques and options available, from the standpoints of both performance and complexity. Discusses forking, multithreading, the Global Interpreter Lock (GIL), and more.

10-minute readContinue Reading
Eqbal Quran

Eqbal Quran

Eqbal is a senior full-stack developer with more than a decade of experience working in web and mobile development.

How GWT Unlocks Augmented Reality in Your Browser

In our previous post on the GWT Web Toolkit, we discussed the strengths and characteristics of GWT to mix Java and JavaScript libraries seamlessly in the browser. In today’s post, we would like to go a little deeper and see the GWT Toolkit in action. We’ll demonstrate how we can take advantage of GWT to build a peculiar application: an augmented reality web application that runs in real time, fully in JavaScript, in the browser. We’ll focus on how GWT gives us the ability to interact easily with many JavaScript APIs, such as WebRTC and WebGL, and allows us to harness a large Java library, NyARToolkit, never intended to be used in the browser.

10-minute readContinue Reading
Alberto Mancini

Alberto Mancini

Alberto is a full-stack developer, ops engineer, and software architect with expertise managing large computational infrastructures. He has been a member of the Intel Software Innovator program since 2014 and holds a PhD in applied mathematics and operational research from the University of Milan.

How does Shazam work? Music Recognition Algorithms, Fingerprinting, and Processing

You hear a familiar song in the club or the restaurant. You listened to this song a thousand times long ago, and the sentimentality of the song really touches your heart. You desperately want to heart it tomorrow, but you can’t remember its name! Fortunately, in our amazing futuristic world, you have a phone with music recognition software installed, and you are saved.

But how does this really work? Shazam’s algorithm was revealed to world in 2003. In this article we’ll go over the fundamentals of that algorithm.

14-minute readContinue Reading
Jovan Jovanovic

Jovan Jovanovic

Jovan is an entrepreneur and engineer with a strong mathematical background and an extensive skillset for problem-solving.

Microsoft HoloLens Review - Bridging The Gap Between AR And VR

Microsoft has a long tradition of spicing up relatively dull product announcements with compelling tech demos, and the Windows 10 announcement was no exception. The software giant used the opportunity to create a fair amount of buzz about the HoloLens, a futuristic headset that offers a glimpse into the future of Augmented Reality (AR).

12-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

MIDI Tutorial: Creating Browser-Based Audio Applications Controlled by MIDI Hardware

Modern web browsers provide a rich set of APIs; some of which have been around for a long time, and have since been used to build powerful web applications.

Web Audio API has been popular among HTML5 game developers, however, the Web MIDI API and its capabilities have yet to be utilized. In this article, Toptal engineer Stéphane P. Péricat guides you through the basics of the Web MIDI API, and shows you how to build a simple monosynth to play with your favorite MIDI device.

15-minute readContinue Reading
Stéphane P. Péricat

Stéphane P. Péricat

Stéphane is a front-end engineer with 7+ years’ of experience. He specializes in building performant JavaScript-based web applications.

Needle in a Haystack: A Nifty Large-scale Text Search Algorithm Tutorial

When coming across the term “text search,” one usually thinks of a large body of text which is indexed in a way that makes it possible to quickly look up one or more search terms when they are entered by a user. This is a classic problem in computer science to which many solutions exist.

But how about a reverse scenario? What if what’s available for indexing beforehand is a group of search phrases, and only at runtime is a large body of text presented for searching?

12-minute readContinue Reading
Ahmed Alamir

Ahmed Alamir

Ahmed is an Android expert with a passion for intuitive user experience and snappy app performance.

Making an HTML5 Canvas Based Game: A Tutorial Using AngularJS and CreateJS

There are many programming platforms used to develop games, and there are a plethora of devices to play them on, but when it comes to playing games in a web browser, Flash-based development still leads the way.

What if we could port these games to HTML5 Canvas technology and play them on mobile browsers as well? In this article, Toptal engineer Avinash Kaza gave a solution to this.

16-minute readContinue Reading
Avinash Kaza

Avinash Kaza

Avinash is a senior developer with experience designing & developing data visualizations.

Video Game Physics Tutorial - Part I: An Introduction to Rigid Body Dynamics

Simulating physics in video games is very common, since most games are inspired by things we have in the real world. Rigid body dynamics – the movement and interaction of solid, inflexible objects – is by far the most popular kind of effect simulated in games.

In this series, rigid body simulation will be explored, starting with simple rigid body motion in this article, and then covering interactions among bodies through collisions and constraints in the following installments.

18-minute readContinue Reading
Nilson Souto

Nilson Souto

Nilson (dual BCS/BScTech) been an iOS dev and 2D/3D artist for 8+ years, focusing on physics and vehicle simulations, games, and graphics.

Advanced Java Class Tutorial: A Guide to Class Reloading

In Java development, a typical workflow involves restarting the server with every class change, and no one complains about it. But is Java class reloading that difficult to achieve? And could that problem be both challenging and exciting to solve? In this article, I will try to address the problem, help you gain all the benefits of on-the-fly class reloading, and boost your productivity immensely.

12-minute readContinue Reading
Lê Anh Quân

Lê Anh Quân

Lê has 14 years of experience building web apps, using Java technologies. Over the past 5 years, he has with React and Angular.

From the Ground Up: How I Built the Developer's Dream Keyboard

Going from a software background, knowing nothing about electronics, to designing and building a powerful, marketable hardware device is an interesting and fascinating experience. In this article, I’ll describe the design of how this electronic masterpiece works.

11-minute readContinue Reading
László Monda

László Monda

László is a versatile full-stack developer experienced in a wide range of languages and frameworks with a system-wide understanding.

Blockchain Technology Explained: Powering Bitcoin

Bitcoin blockchain is the backbone of the network and provides a tamper-proof data structure, providing a shared public ledger open to all. This article provides insight in blockchain technology, current status and its potential.

6-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Toptal Engineering Expert

Gabriel is a highly efficient and reliable professional who possesses a broad skill set for web application development. He's been working on a range of products and clients—from working on scalability problems in production engineering teams at Shopify and Autodesk to launching new applications for startups. Most of his work consists of leading technical teams, by creating an easy development environment, fixing technical debts, providing best practices code examples, and mentoring devs.
Read more

Previously At

Shopify

Most-read Articles

Marcos Henrique da Silva

Creating a Secure REST API in Node.js

By Marcos Henrique da Silva
13-minute readContinue Reading

World-class articles, delivered weekly.

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

Join the Toptal® community.