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.

Using Scala.js With NPM And Browserify

Today, writing applications in languages that compile to JavaScript is a very common practice. Scala developers, for example, can use Scala.js and have the same language for both the server and the client. That said, Scala’s compiler and standard dependency management tools are too limiting in the modern JavaScript world.

In this article, Toptal Freelance Software Engineer Michele Sciabarra shows us how to integrate Scala.js with the plethora of JavaScript modules available on NPM, using tools like Browserify, and explains how to do this without even having to install Node.js.

11-minute readContinue Reading
Michele Sciabarra

Michele Sciabarra

Michele is a system architect with over 20 years of experience. He is a polyglote developer but his specialty is Scala and DevOps.

Introduction to Concurrent Programming: A Beginner’s Guide

Concurrency allows programs to deal with a lot of tasks at once. But writing concurrent programs isn’t a particularly easy feat. Dealing with constructs such as threads and locks and avoiding issues like race conditions and deadlocks can be quite cumbersome, making concurrent programs difficult to write.

In this article, Toptal Freelance Software Engineer Marko Dvečko gives us an overview of some concurrent programming models. He explains how each of these models gives structure to the programs we write and shows how to avoid certain concurrency issues that can come with these models.

24-minute readContinue Reading
Marko Dvečko

Marko Dvečko

Marko has 12+ years of experience. He holds four Salesforce.com certificates, and his interests are in math and functional programming.

Programming Visually with Node-RED: Wiring Up the Internet of Things with Ease

Node-RED, built on Node.js, is a tool designed for programming visually without having to write any code. It comes equipped with a browser-based flow editor that allows hardware devices and APIs to be connected with each other easily, making it an ideal tool for rapidly developing programs for IoT devices.

In this article, Toptal freelance software engineer Jesús Darío Rivera walks us through the process of building a simple program using Node-RED and Netbeast along with a virtual light bulb plugin that mimics the capabilities of a real smart bulb.

13-minute readContinue Reading
Jesus Dario

Jesus Dario

Jesus is the co-founder of Netbeast.co. He has two years of experience as a full-stack developer and one year as CTO.

Introduction to BEM Methodology

When building smaller websites, the way developers structure their CSS code is usually not a big issue. However, when it comes to larger, more complex projects, code organization becomes crucial.

In this article, Toptal Freelance Software Engineer Tomislav Matijević introduces us to BEM methodology and explains how this CSS practice can massively improve code maintainability, speed up the development process, and streamline the teamwork of developers by arranging CSS classes into independent modules.

12-minute readContinue Reading
Tomislav Matijević

Tomislav Matijević

Tomislav is a software engineer well versed in front-end technologies, particularly in vanilla JavaScript and React.js.

Gulp Under the Hood: Building a Stream-based Task Automation Tool

Streams are a powerful construct in Node.js and in I/O driven programming in general. Gulp, a tool for task automation, leverages streams in elegant ways to allow developers to enhance their build workflow.

In this article, Toptal engineer Mikhail Angelov gives us some insight into how Gulp works with streams by showing us step-by-step how to build a Gulp-like build automation tool.

8-minute readContinue Reading
Mikhail Angelov

Mikhail Angelov

Mikhail holds a Master’s in Physics. He’s run the gamut with Node.js, Go, JavaScript SPAs, React.js, Flux/Redux, RIOT.js, and AngularJS.

Clean Code and the Art of Exception Handling

Exceptions are a fundamental element of modern programming—and nothing to fear. Implement these exception handling best practices to write clean code that is easier to maintain.

12-minute readContinue Reading
Ahmed AbdelHalim

Ahmed AbdelHalim

Ahmed is a back-end (API) developer who loves building useful and fun tools. He also has experience as a web developer.

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.

18-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.

Getting Started with the 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.

8-minute readContinue Reading
Kleber Virgilio Correia

Kleber Virgilio Correia

Kleber’s long professional experience has covered Unix, Agile, functional and OOP languages, REST APIs, distributed apps, and the cloud.

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.

10-minute readContinue Reading
Daniel Gheorghe

Daniel Gheorghe

Daniel is a Zend Certified PHP Engineer with 10+ years of experience as the lead PHP developer for multiple companies around the world.

World-class articles, delivered weekly.

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

Join the Toptal® community.