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.

Share
Share
Toptal core team members share their experience, expertise, and perspectives on the Toptal Edge Blog

Featured in

World-class articles, delivered weekly.

Subscription implies consent to our privacy policy

Clustering Algorithms: From Start to State of the Art

Clustering algorithms are very important to unsupervised learning and are key elements of machine learning in general. These algorithms give meaning to data that are not labelled and help find structure in chaos. But not all clustering algorithms are created equal; each has its own pros and cons.

In this article, Toptal Freelance Software Engineer Lovro Iliassich explores a heap of clustering algorithms, from the well known K-Means algorithm to the elegant, state-of-the-art Affinity Propagation technique.

11 minute readContinue Reading
Lovro Iliassich

Lovro Iliassich

Lovro is a Machine Learning Engineer and Data Scientist. He worked at Amazon as well as a researcher at multiple academic institutions.

Toptal's Quick and Practical JavaScript Cheat Sheet: ES6 and Beyond

Software engineers are always searching for the best tools and guides to help them be more productive and allow them to spend less time reading long technical specifications.

Today, Toptal is pleased to present a new resource to the community: the JavaScript Cheat Sheet - ES6 and Beyond. Toptal’s JavaScript Cheat Sheet is a quick, easily understandable reference guide. It is free to download and includes all the new and exciting features introduced with ES6 as well as the future experimental features from ES7.

11 minute readContinue Reading
Jesus Dario

Jesus Dario

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

HTTP Request Testing: A Developer's Survival Tool

It’s tragically common for developers to come into a project where proper automated testing has been and will continue to be overlooked. It’s a situation Freelance Developer Bhushan Lodha has found himself in all too often; fortunately, he’s found a solution. In this article, he briefly covers the reasons why testing is overlooked and ultimately explains his “coding life hack” to ensure quality control even when he can’t introduce a testing framework.

11 minute readContinue Reading
Bhushan Lodha

Bhushan Lodha

Bhushan is a Hacker School alum and a developer proficient Ruby, Rails, and Backbone.js. He has a knack for design and UX.

Express, Koa, Meteor, Sails.js: A Node.js Framework Comparison

Some platforms have an overwhelming number of options for web frameworks. Node.js, the event-driven server-side JavaScript environment, is one such platform. Whether it’s the minimalist Express or the full-blown MVC web framework Sails.js, Node.js seems to have it all.

In this article, Toptal Freelance Software Engineer Chuoxian Yang explores four of the most popular Node.js web frameworks and discusses how each framework stands out from the rest of the crowd in Node.js.

10 minute readContinue Reading
Chuoxian Yang

Chuoxian Yang

Chuoxian is a full-stack developer and tech company founder who has built multiple large-scale projects from blueprint to launch.

Declarative Programming: Is It A Real Thing?

In a nutshell, declarative programming consists of instructing a program on what needs to be done, instead of telling it how to do it. This approach involves providing a domain-specific language (DSL) for expressing what the user wants. This DSL shields users from messy low-level constructs while still achieving the desired end-state.

While declarative programming offers advantages over the imperative approach it replaces, it’s not as straightforward as it may seem. In this comprehensive article, Toptal Freelance Software Engineer Federico Pereiro outlines his experience with declarative tools and explains how you can make declarative programming work for you.

25+ minute readContinue Reading
Federico Pereiro

Federico Pereiro

Maker of minimalist software. Designs, writes, tests, deploys and maintains real systems solving real (if boring) problems.

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.

Most-read Articles

World-class articles, delivered weekly.

Subscription implies consent to our privacy policy

Join the Toptal® community.