Toptal BlogA hub for in-depth development, design, and finance tutorials and new technology and finance trends created by professional freelance developers, designers, and finance experts in the Toptal network.
https://www.toptal.com/blog
Introduction to Objects and References in PHP MemoryIn this article, I will talk about how object and variable references are controlled in memory, since this is an issue that can generate discussion and differing opinions. One question to ponder is: "By default, are objects passed by reference or by copy in PHP?" I'm going to talk first about what references aren't in PHP; secondly, I'll discuss what they are, and finally, I will examine how the garbage collector works in PHP.Mon, 16 Oct 2017 10:44:48 -0400https://www.toptal.com/php/objects-references-php-memory
objects-references-php-memoryAGUSTIN VILLALBA, FREELANCE PHP DEVELOPER @ TOPTALWhy Every Business Should Build Weekly Cash Flow ForecastsWhen most finance professionals hear the term “13 week cash Forecast,” they view it as a burden—one more task to appease an overbearing lender. It doesn’t help that it seems less exciting than analyzing an investment or acquisition. Therefore, people often only prioritize these forecasts in distressed situations, when it is too late to take corrective actions.
However, in this article, Toptal Finance Expert Marty Mooney argues that weekly cash forecasts are crucial for all businesses, irrespective of size, health, or sector. It also provides a simple tutorial for efficiently building such analyses.
Fri, 13 Oct 2017 11:03:09 -0400https://www.toptal.com/finance/financial-forecasting/weekly-cash-flow-forecast
weekly-cash-flow-forecastMARTY MOONEY, FINANCE EXPERT @ TOPTALAn Elasticsearch Tutorial for .NET DevelopersElasticsearch is one of the most powerful full-text search engine solutions out there. Using the NEST package, you can easily leverage the power of Elasticsearch in your .NET projects.
In this article, Toptal Freelance Software Engineer Ivan Cesar shows how Elasticsearch can solve real-world full-text search problems in your .NET projects.Fri, 13 Oct 2017 09:13:12 -0400https://www.toptal.com/dot-net/elasticsearch-dot-net-developers
elasticsearch-dot-net-developersIVAN CESAR, FREELANCE SOFTWARE ENGINEER @ TOPTALThink S.M.A.R.T. When Defining Business Goals for Your Next UX ProjectDesigners are not mere pixel pushers. They must frame the problem, identify a solution, and engage users while also impacting their client’s bottom line.
Toptal Designer Matteo di Pascale explains how the S.M.A.R.T. framework helps designers stay goal-oriented and increase their success rate.Thu, 12 Oct 2017 09:50:49 -0400https://www.toptal.com/designers/ux/ux-projects-think-smart
ux-projects-think-smartMATTEO DI PASCALE, DESIGNER @ TOPTALPrototyping with Real Data - A Framer TutorialPrototyping with real data can be compared to building something out of LEGO blocks: Instead of working with imaginary, loose shapes, we can use existing components from the box and build something real.
This Framer tutorial uses real data and public APIs. Working prototypes and code snippets are included.Tue, 10 Oct 2017 11:17:07 -0400https://www.toptal.com/designers/ui/framer-tutorial-using-real-data
framer-tutorial-using-real-dataWOJCIECH DOBRY, DESIGNER @ TOPTALFintech and Banks: How Can the Banking Industry Respond to the Threat of Disruption?Fintech attention tends to focus on startups and their efforts to unbundle the financial service industry’s suite of services. But how are banks responding to this disruptive threat? Despite their wealth, talent, and rich history of innovation, they have been sluggish to respond to the upstart movement.
This article suggest four ways banks can change their tact and respond better to fintech.Thu, 05 Oct 2017 09:23:14 -0400https://www.toptal.com/finance/investment-banking-freelancer/fintech-and-banks
fintech-and-banksALEX GRAHAM, FINANCE EDITOR @ TOPTALAngular Change Detection and the OnPush StrategyOut of the box, Angular provides two different change detection strategies: Default and OnPush. Each strategy has its own advantages, but sometimes it is easy to miss a nifty optimization opportunity if you stick to the default strategy.
In this article, Toptal Freelance Software Engineer Ahmet Shapiro-Erciyas walks us through the available change detection strategies and shows how to use them in any Angular project.Thu, 05 Oct 2017 07:34:39 -0400https://www.toptal.com/angular/angular-change-detection
angular-change-detectionAHMET SHAPIRO-ERCIYAS, FREELANCE SOFTWARE ENGINEER @ TOPTALCommercial Drones Are Revolutionizing Business OperationsWhen most hear “drone,” they think expensive military aircrafts or small consumer toys. However, the future of drones will actually be shaped by practical commercial applications, due to their ability to drive efficiency and data analytics.
This article defines drones and their total addressable market and highlights how their capabilities can be leveraged in commercial business operations. It also includes investment trends and predictions for the future of the industry.Tue, 03 Oct 2017 12:08:53 -0400https://www.toptal.com/finance/market-research-analysts/drone-market
drone-marketFRANCESCO CASTELLANO, FINANCE EXPERT @ TOPTALTV UI Design: Working with White SpaceWhite space is a frequently overlooked and underutilized element in many TV interface designs that are often crowded and busy.
Thoughtful use of white space in TV UI design improves comprehension and focus, and it enhances the user’s experience.Tue, 03 Oct 2017 10:46:42 -0400https://www.toptal.com/designers/ui/white-space-in-tv-ui-design
white-space-in-tv-ui-designPASCAL POTVIN, DESIGNER @ TOPTALTrunk-based Development vs. Git FlowIn this article, Toptal Freelance Software Engineer Konrad Gadzinowski dissects trunk-based development and Git flow, listing the pros and cons for various use cases.Mon, 02 Oct 2017 18:00:00 -0400https://www.toptal.com/software/trunk-based-development-git-flow
trunk-based-development-git-flowKONRAD GADZINOWSKI, FREELANCE SOFTWARE ENGINEER @ TOPTALBridgewater's Ray Dalio: Quiet Pioneer of Big Data, Machine Learning, and Fintech Ray Dalio is an investing legend whose success is most often attributed to investment acumen. This article argues that it was equally due to his foresight as an early but quiet adopter of computational systems, big data techniques, and artificial intelligence that resulted in his outstanding success. Bridgewater was one of the world’s earliest fintech companies.Thu, 28 Sep 2017 11:23:51 -0400https://www.toptal.com/finance/business-plan-consultants/ray-dalio-principles
ray-dalio-principlesORINOLA GBADEBO-SMITH, FINANCE EDITOR @ TOPTALFuture UI Design Without ButtonsWhy do we still use buttons in our user interfaces? Technology has come so far and offers so many possibilities, there is no longer any reason to force our users to click the tiny rectangles we call "buttons."Thu, 28 Sep 2017 08:12:44 -0400https://www.toptal.com/designers/ui/future-ui-design-without-buttons
future-ui-design-without-buttonsWOJCIECH DOBRY, TOPTAL FREELANCE DESIGNER AND DESIGN BLOG EDITOR @ TOPTALHow to Implement a Pixel-perfect iOS UI DesignIn this article, Toptal Freelance Developer Roman Stetsenko explains what it takes to create a pixel-perfect iOS interface from the ground up and why it matters.Wed, 27 Sep 2017 18:00:00 -0400https://www.toptal.com/mobile/pixel-perfect-ios-ui-design
pixel-perfect-ios-ui-designROMAN STETSENKO, FREELANCE SOFTWARE DEVELOPER @ TOPTALDark UIs. The Good and the Bad. Dos and Don’ts.Dark-themed UIs can be dramatic, stylish and elegant. But despite the many benefits, they come with a slew of challenges and potential pitfalls that every designer would be wise to keep in mind.Tue, 26 Sep 2017 10:47:08 -0400https://www.toptal.com/designers/ui/dark-ui
dark-uiMIKLOS PHILIPS, UX DESIGNER AND LEAD DESIGN BLOG EDITOR @ TOPTALAndroid and iOS UI Testing with CalabashDo you think testing your iOS or Android apps manually is faster than writing automated tests for them? Calabash, the cross-platform acceptance framework, busts that myth once and for all.
In this article, Toptal Freelance Software Engineer Alexander Gedevanishvili shows how Calabash, with its support for Cucumber, makes writing automated UI tests as simple as writing instructions in plain English.Tue, 26 Sep 2017 09:19:11 -0400https://www.toptal.com/mobile/android-ios-ui-testing-calabash
android-ios-ui-testing-calabashALEXANDER GEDEVANISHVILI, FREELANCE SOFTWARE ENGINEER @ TOPTALCreating Truly Modular Code with No DependenciesComplex, tightly-coupled, and fragile interdependent code. We’ve all written it. The kind of code where fixing one bug creates seven more. Have you ever wondered how to create independent modular code?
In this article, Toptal Freelance Software Engineer Konrad Gadzinowski walks us through the different types of architectural paradigms you can adhere to and how to write modular and decoupled code where changes to one module have minimal impact on the overall application.Thu, 21 Sep 2017 10:30:51 -0400https://www.toptal.com/software/creating-modular-code-with-no-dependencies
creating-modular-code-with-no-dependenciesKONRAD GADZINOWSKI, FREELANCE SOFTWARE ENGINEER @ TOPTALGreat Recent Examples of Competitive Strategy SuccessesCompetitive strategy frameworks are widely known and mainstays of university curricula, despite being almost 40 years old. We often hear the stories of Walmart and Southwest Airlines, but what modern examples are there? In this article we use Michael Porter’s activity positioning framework to show successful applications of competitive strategy from modern digital companies.Thu, 21 Sep 2017 10:25:59 -0400https://www.toptal.com/finance/business-model-consultants/competitive-strategy-examples
competitive-strategy-examplesALEX GRAHAM, FINANCE BLOG EDITOR @ TOPTALAdobe XD vs. Sketch - Which UX Tool is Right for You?After years without a dedicated UX tool and the mass migration to other options like Sketch, InVision, Zeplin, and Figma, Adobe started the development of Adobe XD, its new UX solution. Explore the Adobe alternative, its exclusive features and how it compares with Sketch, the market's main choice.Wed, 20 Sep 2017 11:25:44 -0400https://www.toptal.com/designers/ux/adobe-xd-vs-sketch-which-tool
adobe-xd-vs-sketch-which-toolSÉRGIO ESTRELLA, FREELANCE DESIGNER @ TOPTALSoftware Entropy Explained: Causes, Effects, and RemediesIn this article, Toptal Freelance Developer Adam Wasserman explains what software entropy is, what causes it and how it manifests itself, and what can be done to prevent it or mitigate its effects.Sun, 17 Sep 2017 18:00:00 -0400https://www.toptal.com/software/software-entropy-explained
software-entropy-explainedADAM WASSERMAN, FREELANCE SOFTWARE ENGINEER @ TOPTALWhy More Entrepreneurs are Choosing To Build Search Funds over StartupsSearch funds, though once an esoteric asset class and model for entrepreneurship, have seen a substantial rise in popularity in recent years. They can often represent a superior alternative to the venture-backed startup route especially for a select cohort of formally trained entrepreneurs, most of all those who deeply understand their motives, risk appetites, and contextual/financial encumbrances.Fri, 15 Sep 2017 10:30:06 -0400https://www.toptal.com/finance/startup-funding-consultants/search-fund
search-fundORINOLA GBADEBO-SMITH, FINANCE EDITOR @ TOPTALWorking with Angular 4 Forms: Nesting and Input ValidationValidating user inputs is an essential part of any robust web application. Angular 4 makes it especially easy for both template-driven and reactive forms.
In this article, Toptal Freelance Angular Developer Igor Geshoski walks us through the different approaches in Angular 4 form validation and shows how even complex form validation can be done easily.Fri, 15 Sep 2017 09:00:53 -0400https://www.toptal.com/angular-js/angular-4-forms-validation
angular-4-forms-validationIGOR GESHOSKI, FREELANCE ANGULAR DEVELOPER @ TOPTALHow to Choose the Best Front-end FrameworkIs there really an ultimate best JavaScript front-end framework? Maybe there isn’t, but there is a way to choose the best framework for your web project.
In this article, Toptal Freelance JavaScript Developer Giorgi Bakradze takes a look at four of the most popular frameworks from five important perspectives that make it easy to determine which one is the best fit for your project’s needs.Thu, 14 Sep 2017 09:52:59 -0400https://www.toptal.com/javascript/choosing-best-front-end-framework
choosing-best-front-end-frameworkGIORGI BAKRADZE, FREELANCE JAVASCRIPT DEVELOPER @ TOPTALButton Design Over the Years – The Dribbble TimelineButtons—We use them daily in apps and websites to finalize crucial actions. Digital design develops at an incredible pace, and buttons as one of its most important elements along with it. How has their style developed over the past 8 years? Check the Dribbble Buttons Timeline.Wed, 13 Sep 2017 10:55:04 -0400https://www.toptal.com/designers/ui/button-design-dribbble-timeline
button-design-dribbble-timelineWOJCIECH DOBRY, DESIGNER AND DESIGN BLOG EDITOR @ TOPTALThe 10 UX Deliverables Top Designers UseRegardless of the environment or size of a project, UX professionals need a variety of deliverables to help facilitate design communication with various stakeholders and teams, document work and provide artifacts for meetings and ideation sessions. Here are 10 of the most common UX deliverables. Tue, 12 Sep 2017 11:12:43 -0400https://www.toptal.com/designers/ux/10-common-ux-deliverables
10-common-ux-deliverablesMIKLOS PHILIPS, UX DESIGNER AND DESIGN BLOG EDITOR @ TOPTALImplementing Serverless Node.js Functions Using Google CloudServerless computing is an architecture style in which the code is executed in a cloud platform where we don’t need to worry about the hardware and software setup, security, performance, and CPU idle time costs. It's an advancement of cloud computing that goes beyond infrastructure that abstracts the software environment as well. It means no configuration is required to run the code. Mon, 11 Sep 2017 10:04:34 -0400https://www.toptal.com/nodejs/serverless-nodejs-using-google-cloud
serverless-nodejs-using-google-cloudVIGNES ARULJOTHI, FREELANCE SOFWARE ENGINEER @ TOPTALCommon Mistakes in Client Communication: How to Not Frustrate Your ClientThis article will help you identify and address various communication issues that can plague off-site professionals. Whether you’re a full-stack developer, a UI designer, or a content creator, these easy to memorize tips will help you hone your communication skills.Thu, 07 Sep 2017 18:00:00 -0400https://www.toptal.com/remote/common-mistakes-client-communication
common-mistakes-client-communicationANDREZA CRISTINA DA SILVA, FREELANCE SOFTWARE ENGINEER @ TOPTALCybersecurity: What Every CEO and CFO Should Know$7.35 million. That’s the average cost of a data breach is. Sure, cybersecurity isn’t sexy. However, in today’s digital age, it is undeniably critical for large corporations and small startups alike. This is compounded by the fact that hacks are becoming commonplace.
Read on to arm yourself with awareness to these invisible threats, and tangible steps you can take to protect yourself and your company.Thu, 07 Sep 2017 11:18:39 -0400https://www.toptal.com/finance/finance-directors/cyber-security
cyber-securityMELISSA LIN, FINANCE BLOG EDITOR @ TOPTAL30 Tips on Remote Lifestyle and Design from the Toptal NetworkWorking as a remote freelance designer poses special challenges while presenting unique opportunities. Here, some of Toptal’s top designers share their expertise on everything from the remote work lifestyle to expert design tips.Wed, 06 Sep 2017 13:26:50 -0400https://www.toptal.com/designers/freelance/freelance-design-tips
freelance-design-tipsWOJCIECH DOBRY, DESIGN BLOG EDITOR @ TOPTALThings You Might Not Know About Typography in SketchWhen working with typography, Sketch comes up short, especially when you compare it with the most popular design tools out there. In this article, we’ll give you quick tips to compensate for its shortcomings with typography.Tue, 05 Sep 2017 13:05:55 -0400https://www.toptal.com/designers/sketch/typography-design-tutorial-in-sketch
typography-design-tutorial-in-sketchWOJCIECH DOBRY, DESIGNER @ TOPTALConquer String Search with the Aho-Corasick AlgorithmThe Aho-Corasick algorithm can be used to efficiently search for multiple patterns in a large blob of text, making it a really useful algorithm in data science and many other areas.
In this article, Toptal Freelance Software Engineer Roman Vashchegin shows how the Aho-Corasick algorithm uses a trie data structure to efficiently match a dictionary of words against any text.Tue, 05 Sep 2017 09:47:10 -0400https://www.toptal.com/algorithms/aho-corasick-algorithm
aho-corasick-algorithmROMAN VASHCHEGIN, FREELANCE SOFTWARE ENGINEER @ TOPTALUndervalued at $20 billion? A Total Addressable Market Analysis of WeWorkTotal Addressable Market (TAM) sizing exercises have become very popular for assessing the potential of a business. TAM is, however, often miscalculated and misinterpreted. In this article, we will look at how to calculate it and its derivative subset waypoints of SAM and SOM. A working example will also be demonstrated for WeWork.Thu, 31 Aug 2017 12:28:14 -0400https://www.toptal.com/finance/market-sizing/total-addressable-market-example
total-addressable-market-exampleALEX GRAHAM, FINANCE EDITOR @ TOPTALFree eBooks All Designers Should ReadA picture may be worth a thousand words, but a book contains that and more. To improve your design skills and stay in line with market trends and needs, you need to be continuously learning.
In this article, Toptal Design Blog Lead Editor Michael Abehsera reviews 19 free ebooks written to help designers grow as professionals and creatives.Thu, 31 Aug 2017 09:24:47 -0400https://www.toptal.com/designers/product-design/free-ebooks-for-designers
free-ebooks-for-designersMICHAEL ABEHSERA, LEAD DESIGN BLOG EDITOR @ TOPTALWeb Accessibility: Why W3C Standards Are Often IgnoredThe goal of this article is to introduce you to the underlying principles of accessibility and help you flawlessly implement web accessibility guidelines and standards on your next project. Even minor improvements can help your content rank better, reach more people, and improve the overall user experience.Wed, 30 Aug 2017 18:00:00 -0400https://www.toptal.com/front-end/web-accessibility-and-w3c-standards
web-accessibility-and-w3c-standardsCEZARY TOMCZYK, FREELANCE SOFTWARE ENGINEER @ TOPTALStreamline Collaborative Design with FigmaIn recent years, as designers, we have a growing selection of tools to work with. One of them is Figma – the answer for collaborative work which, nowadays, we do more and more often.Wed, 30 Aug 2017 10:00:09 -0400https://www.toptal.com/designers/product-design/collaboration-in-figma-app
collaboration-in-figma-appWOJCIECH DOBRY, DESIGN BLOG EDITOR @ TOPTALMaximum Flow and the Linear Assignment ProblemThe Hungarian graph algorithm solves the linear assignment problem in polynomial time. By modeling resources (e.g., contractors and available contracts) as a graph, the Hungarian algorithm can be used to efficiently determine an optimum way of allocating resources.Mon, 28 Aug 2017 09:20:15 -0400https://www.toptal.com/algorithms/maximum-flow-linear-assignment-problem
maximum-flow-linear-assignment-problemDMITRI IVANOVICH ARKHIPOV, FREELANCE SOFTWARE ENGINEER @ TOPTALGetting Started with the SRVB CryptosystemThis article will give you an introduction to the principles behind public-key cryptosystems and introduce you to the Santana Rocha-Villas Boas (SRVB) cryptosystem, developed by the author of the article and prof. Daniel Santana Rocha. The algorithm authors are making a campaign that includes a financial reward to anyone who manages to crack the code.Fri, 25 Aug 2017 13:43:59 -0400https://www.toptal.com/algorithms/introducing-srvb-cryptosystem
introducing-srvb-cryptosystemYURI DA SILVA VILLAS BOAS, ENGINEER & MATHEMATICIAN @ TOPTALHow to Give Designers Professional Feedback (from Designers)Professional designers discuss giving creative feedback and collaborating constructively to fellow designers on teams.Thu, 24 Aug 2017 14:09:19 -0400https://www.toptal.com/designers/design-leads/giving-feedback
giving-feedbackJOHN CHALLIS, DESIGNER @ TOPTALDemystifying Cryptocurrencies, Blockchain, and ICOsDespite significant advancements, cryptocurrencies remain highly controversial; while some tout it as “the next internet,” others view Bitcoin as “evil.” At their simplest, they are the newest fintech fad; yet at their most complex, they’re a revolutionary technology challenging the political and social underpinnings of society. This article will demystify cryptocurrencies’ appeal, its complex underlying technology, and its value. It will also examine the accounting and regulatory, and privacy issues surrounding the space. Thu, 24 Aug 2017 11:17:04 -0400https://www.toptal.com/finance/financial-consultants/cryptocurrency-market
cryptocurrency-marketJEFFREY MAZER, FINANCE EXPERT @ TOPTALGuide to Spring Boot REST API Error HandlingSpring Boot gives very useful error messages to engineers building REST APIs. Yet, those same messages are noisy and useless for the API consumer, not to mention they reveal implementation details. Luckily, there are simple ways of handling this.Tue, 22 Aug 2017 10:55:46 -0400https://www.toptal.com/java/spring-boot-rest-api-error-handling
spring-boot-rest-api-error-handlingBRUNO LEITE, FREELANCE JAVA DEVELOPER @ TOPTALSkeuomorphism, Flat Design, and the Rise of Type DesignThe argument for type design, what it is, and why it should be the next step in the evolution of UI from skeuomorphism and flat design.Mon, 21 Aug 2017 12:18:30 -0400https://www.toptal.com/designers/ui/type-design
type-designMICHAEL ABEHSERA, LEAD DESIGN BLOG EDITOR @ TOPTALOrchestrating a Background Job Workflow in Celery for PythonIn this article, I will try to give you a good understanding of which scenarios could be covered by Celery. Not only will you see interesting examples, but will also learn how to apply Celery with real world tasks such as background mailing, report generation, logging and error reporting. I will share my own way of testing tasks beyond emulation and explain a few tricks that go beyond the official documentation and took me hours of research to discover myself.Mon, 21 Aug 2017 07:38:10 -0400https://www.toptal.com/python/orchestrating-celery-python-background-jobs
orchestrating-celery-python-background-jobsRUSTEM KAMUN, FREELANCE SOFTWARE ENGINEER @ TOPTALShould We Rethink the Use of EBITDA?EBITDA is one of the most common metrics in finance. However, while intended to provide a “cleaner” picture of operating performance than net income, in reality it often achieves the opposite effect. It is also in many cases a questionable proxy for cash flow, as well as a dubious valuation tool.Thu, 17 Aug 2017 11:37:31 -0400https://www.toptal.com/finance/financial-analysts/ebitda
ebitdaPUNEET GANDHI, FINANCE EXPERT @ TOPTALHow to Create Nested Symbols in Sketch Sketch is not a complex tool, but it’s array of features can save you a lot of time – especially Symbols. In this tutorial, learn how to nest symbols in Sketch. Thu, 17 Aug 2017 09:23:01 -0400https://www.toptal.com/designers/sketch/nested-symbols-in-sketch
nested-symbols-in-sketchWOJCIECH DOBRY, DESIGNER @ TOPTALThe Ultimate List of 50 of the Best Sketch PluginsDesigners love Sketch for its simplicity. They love it thanks to its plugins, which add numerous features. Here are 50 of the very best plugins for Sketch.Wed, 16 Aug 2017 12:26:24 -0400https://www.toptal.com/designers/sketch/50-best-sketch-plugins
50-best-sketch-pluginsWOJCIECH DOBRY, DESIGNER @ TOPTAL7 Tips for Shooting the Perfect Kickstarter VideoA well-produced, high-quality pitch video can go a long way toward helping a business or individual gain credibility and secure funding. Here are 7 tips.Tue, 15 Aug 2017 12:04:17 -0400https://www.toptal.com/designers/product-design/perfect-kickstarter-video-tips
perfect-kickstarter-video-tipsMIKLOS PHILIPS, DESIGN BLOG EDITOR @ TOPTALWhy Investors are Irrational, According to Behavioral FinanceThough traditional economic theory posits that individuals are rational, we all know this to be an oversimplification of the truth. The cyclical investment process is rife with psychological pitfalls. Only by becoming aware of and actively avoiding innate behavioral biases can investors reach impartial decisions. Herein lies the true value of the emerging field of behavioral finance, which sheds light on true financial behavior. Thu, 10 Aug 2017 09:58:53 -0400https://www.toptal.com/finance/financial-analysts/investor-psychology-behavioral-biases
investor-psychology-behavioral-biasesMELISSA LIN, FINANCE EDITOR @ TOPTALiOS Centralized and Decoupled Networking: AFNetworking Tutorial with a Singleton ClassThe Model-View-Controller (MVC) design pattern is great for the longevity and maintainability of an iOS application’s codebase... but you may find yourself adding similar functions to multiple models as your app grows. In cases such as networking, moving common logic out of your model classes and into singleton helper classes can be a better approach. In this article, I’ll teach you how to set up a centralized singleton networking object that, decoupled from micro-level MVC components, can be reused throughout your application.Thu, 10 Aug 2017 09:11:43 -0400https://www.toptal.com/ios/afnetworking-tutorial-with-a-singleton-class
afnetworking-tutorial-with-a-singleton-classJAMES CAHALL, FREELANCE SOFTWARE ENGINEER & CTO OF TOON GOGGLES, INC. @ TOPTALiOS ARKit Tutorial: Drawing in the Air with Bare FingersWith augmented reality on the rise, more and more libraries and tools are developed to tap into that market. Apple recently released ARKit, which shows great promise through power and simplicity of use.Wed, 09 Aug 2017 09:01:16 -0400https://www.toptal.com/swift/ios-arkit-tutorial-drawing-in-air-with-fingers
ios-arkit-tutorial-drawing-in-air-with-fingersOSAMA ABDELKARIM ABOULHASSAN, FREELANCE SOFTWARE ENGINEER @ TOPTALA How-to Guide to SVG AnimationThe advantages of SVG on the web go beyond producing resolution-independent graphics. With a little CSS and JavaScript, you can apply cool animations and effects to your front-end without requiring the user to install bulky plugins.Mon, 07 Aug 2017 07:40:37 -0400https://www.toptal.com/front-end/svg-animation-guide
svg-animation-guideJUAN CALOU, FREELANCE SOFTWARE ENGINEER @ TOPTALPage Speed 101: A Primer for Mobile UI DesignersWant to improve your page load speeds for your responsive website? Here is a full list of everything you could do to improve your site’s loading timesFri, 04 Aug 2017 12:15:35 -0400https://www.toptal.com/designers/ui/page-speed-101-a-primer-for-ui-designers
page-speed-101-a-primer-for-ui-designersMICHAEL ABEHSERA, DESIGN BLOG LEAD EDITOR @ TOPTALGuide to Data Synchronization in Microsoft SQL ServerSharing related information among isolated systems has become increasingly important. There are many methods to choose from to perform that task for SQL Server, but it’s important to know which is better for each use case.Fri, 04 Aug 2017 09:11:44 -0400https://www.toptal.com/sql/guide-to-data-synchronization-in-microsoft-sql-server
guide-to-data-synchronization-in-microsoft-sql-serverANDREJ GAJDOS, FREELANCE SOFTWARE ENGINEER @ TOPTALHeuristic Analysis for UX - How to Run a Usability EvaluationWhat is a heuristic analysis? How do you run one effectively by employing a group of usability experts to dramatically improve a product’s UX?Thu, 03 Aug 2017 13:06:57 -0400https://www.toptal.com/designers/usability/usability-analysis-how-to-run-a-heuristic-evaluation
usability-analysis-how-to-run-a-heuristic-evaluationMIKLOS PHILIPS, UX DESIGNER AND DESIGN BLOG EDITOR @ TOPTALA Deep Dive into Elon Musk’s Investments: The Makings of a BillionaireEveryone is familiar with Elon Musk the Entrepreneur, but what about Musk the Investor? In this article, we will look at how Musk has funded his ventures and managed his personal angel investments over his career, clever tactics that he has applied, and lessons learned from his experiences.Thu, 03 Aug 2017 12:50:25 -0400https://www.toptal.com/finance/venture-capital-consultants/elon-musks-investments
elon-musks-investmentsALEX GRAHAM, FINANCE EXPERT @ TOPTALThe 12 Worst Mistakes Advanced WordPress Developers MakeWordPress is a very popular way to get a site up and running quickly. However, in their haste, plenty of developers end up making horrible decisions. Some mistakes, like leaving WP_DEBUG set to "true," may be easy to make. Others, like lumping all your JavaScript into a single file, are as common as lazy engineers. Whichever mistake you manage to make, read on to find out the 12 most common WordPress mistakes that new and seasoned developers make.Wed, 02 Aug 2017 07:55:39 -0400https://www.toptal.com/wordpress/common-wordpress-mistakes
common-wordpress-mistakesGABRIEL LIVAN, DEVELOPER @ TOPTALUsing Emojis to Manage Sketch FilesWhen it comes to large projects, browsing through layers in Sketch to understand what they do is not exactly a comfortable process even with good naming conventions. Unless you use something visual...like an emoji.Tue, 01 Aug 2017 14:13:16 -0400https://www.toptal.com/designers/sketch/using-emojis-to-manage-sketch-files
using-emojis-to-manage-sketch-filesWOJCIECH DOBRY, DESIGN BLOG EDITOR @ TOPTALCreating Mind-bending Illustrations with Sketch and Looper in No TimeAn image is worth a thousand words. Learn how to create outstanding illustrations with the Sketch plugin Looper.Mon, 31 Jul 2017 12:12:39 -0400https://www.toptal.com/designers/sketch/amazing-illustrations-with-sketch-and-looper
amazing-illustrations-with-sketch-and-looperWOJCIECH DOBRY, DESIGN BLOG EDITOR @ TOPTALCreating a Ruby DSL: A Guide to Advanced MetaprogrammingWrite better Ruby code by leveraging its metaprogramming features. In this article, you will learn how to create your own Ruby domain specific language (DSL).Fri, 28 Jul 2017 08:14:24 -0400https://www.toptal.com/ruby/ruby-dsl-metaprogramming-guide
ruby-dsl-metaprogramming-guideMÁTÉ SOLYMOSI, DEVELOPER @ TOPTALHow Artificial Intelligence Is Disrupting FinanceAs consumers, we're familiar with AI: we benefit from cars that parallel park themselves, devices that respond when asked questions, and streaming platforms that suggest shows we may like. However, professionally, the larger question is how industries will harness the power of AI. In finance, AI offers opportunities for operational efficiencies in everything from risk management and trading to insurance underwriting.Thu, 27 Jul 2017 09:36:56 -0400https://www.toptal.com/finance/market-research-analysts/artificial-intelligence-in-finance
artificial-intelligence-in-financeMELISSA LIN, FINANCE EDITOR @ TOPTALDesigning for Human Behavior: Defining the IntangiblesIt is now possible to more accurately shape experiences that dynamically personalize content by coupling behavioral design with data science and analytics.Tue, 25 Jul 2017 12:37:22 -0400https://www.toptal.com/designers/ux/designing-for-human-behavior
designing-for-human-behaviorMIKE SLONE, DESIGNER @ TOPTALRethinking User Interface Design for the TV PlatformDesigning for television has become part of the continuum of devices that require a rethink of how we approach user interfaces and user experiences.Fri, 21 Jul 2017 10:00:31 -0400https://www.toptal.com/designers/ui/tv-ui-design
tv-ui-designPASCAL POTVIN, DESIGNER @ TOPTALDesigning for Interactive Environments and Smart SpacesDesigning past mobile or desktop interaction boundaries and into the physical world opens up possibilities to create immersive environmental experiences.Wed, 19 Jul 2017 09:29:50 -0400https://www.toptal.com/designers/interactive/designing-for-interactive-environments-and-smart-spaces
designing-for-interactive-environments-and-smart-spacesJAMIE DEBELLA-TERESUK, DESIGNER @ TOPTALA Guide to Process-oriented Programming in Elixir and OTPProcess-oriented programming is a paradigm in which the process structure and communication between processes of a system are the primary concerns. That’s the paradigm, but how does it work in real life?Mon, 17 Jul 2017 18:00:00 -0400https://www.toptal.com/elixir/process-oriented-programming-elixir-and-otp
process-oriented-programming-elixir-and-otpMICHAEL LATTA, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Avoid the Curse of Premature OptimizationPremature optimization hurts experts and novices alike. How can you know when and how to optimize without shooting your project in the foot?
This week, Toptal Freelance Software Engineer Kevin Bloch walks project managers through some time-tested optimization strategies and when to use them.Mon, 17 Jul 2017 08:39:03 -0400https://www.toptal.com/freelance/curse-premature-optimization
curse-premature-optimizationKEVIN BLOCH, FREELANCE SOFTWARE ENGINEER @ TOPTALExperts’ Corner: Pitch Deck Tips for Fundraising SuccessFundraising, for companies at any stage, is undoubtedly a challenging process. Even for seasoned entrepreneurs and startups already experiencing market traction, a compelling pitch and accompanying pitch deck are still necessary. While there is variance around stylistic delivery of the pitch and aesthetic of the deck itself, you might be relieved to hear that the infamous pitch deck boils down to a formula.Thu, 13 Jul 2017 11:38:21 -0400https://www.toptal.com/finance/pitch-deck-consultants/best-pitch-deck-examples-and-tips
best-pitch-deck-examples-and-tipsMELISSA LIN, FINANCE EDITOR @ TOPTALCode Optimization: The Optimal Way to OptimizeOptimization sounds ideal. Ironically, the very aspect of our code we are trying to optimize can be sabotaged by this process, taking out innocent bystanders along the way. Is it a perfectionists' goldmine...or minefield?
In this article, Toptal Freelance Software Engineer Kevin Bloch offers a more balanced approach to the art and science of optimization.Thu, 13 Jul 2017 10:45:46 -0400https://www.toptal.com/full-stack/code-optimization
code-optimizationKEVIN BLOCH, FREELANCE SOFTWARE ENGINEER @ TOPTALA Product Designer's Guide to Competitive AnalysisA competitive analysis can dramatically improve customer satisfaction and conversion rates as well as give assurance that you stand apart from your competitors.Thu, 13 Jul 2017 08:49:03 -0400https://www.toptal.com/designers/ux/product-designer-guide-to-competitive-analysis
product-designer-guide-to-competitive-analysisCHANDAN MISHRA, DESIGNER @ TOPTALWireframe Mapping: How to Avoid Scope CreepA wireframe map is handy as a tool for estimating work at the start of a project and as a checklist to keep you on track throughout the design process.Tue, 11 Jul 2017 09:28:50 -0400https://www.toptal.com/designers/wireframing/wireframe-mapping-to-avoid-scope-creep
wireframe-mapping-to-avoid-scope-creepFRAUKE SEEWALD, DESIGNER @ TOPTALNgrx and Angular 2 Tutorial: Building a Reactive ApplicationBuilding a reactive web application is a lot more about how you handle events and data flow in your applications than the tools you use to do so. However, Angular 2 with Ngrx seems to be the perfect combination for building reactive applications for many reasons.
In this article, Toptal Freelance Software Engineer Simon Boissonneault-Robert walks you through a reactive web application tutorial using Angular and Ngrx and shows how these two technologies make it easy to do that.Fri, 07 Jul 2017 09:56:10 -0400https://www.toptal.com/angular-js/ngrx-angular-reaction-application
ngrx-angular-reaction-applicationSIMON BOISSONNEAULT-ROBERT, DEVELOPER @ TOPTALEsports: A Guide to Competitive Video GamingWhile the complex esports industry may be daunting for investors, it is growing exponentially and has already amassed a large, global audience. Thu, 06 Jul 2017 13:00:35 -0400https://www.toptal.com/finance/market-research-analysts/esports
esportsJOSH CHAPMAN, FINANCE EXPERT @ TOPTAL13 Podcasts Every Designer Should Listen ToDiscover the top 13 design podcasts that will inspire you in your work and keep you focused and entertained—a nice change from your usual background music!Wed, 05 Jul 2017 12:15:41 -0400https://www.toptal.com/designers/creative-direction/13-design-podcasts-for-designers
13-design-podcasts-for-designersMICHAEL ABEHSERA, DESIGN BLOG LEAD EDITOR @ TOPTALFramer Tutorial: 7 Simple Microinteractions to Improve Your PrototypesFramer Studio is a powerful tool for creating interactive prototypes. Learn how to create seven useful microinteractions in no time to improve your prototype.Mon, 03 Jul 2017 13:43:40 -0400https://www.toptal.com/designers/framer-js/microinteractions-in-framer-studio
microinteractions-in-framer-studioWOJCIECH DOBRY, DESIGN BLOG EDITOR @ TOPTALLaravel API Tutorial: How to Build and Test a RESTful APILaravel is a PHP framework developed with developer productivity in mind. Written and maintained by Taylor Otwell, the framework is very opinionated and strives to save developer time by favoring convention over configuration. The framework also aims to evolve with the web and has already incorporated several new features and ideas in the web development world---such as job queues, API authentication out of the box, real-time communication, and much more.
In this article, we'll explore the ways you can build---and test---a robust API using Laravel. We'll be using Laravel 5.4, and all of the code is available for reference on GitHub.Fri, 30 Jun 2017 08:40:28 -0400https://www.toptal.com/laravel/restful-laravel-api-tutorial
restful-laravel-api-tutorialANDRÉ CASTELO , DEVELOPER @ TOPTALEffective Communication Strategies for DesignersIt’s crucial that designers focus not only on cultivating their abilities with creative tools but also improve their ability to communicate design effectively.Thu, 29 Jun 2017 13:25:31 -0400https://www.toptal.com/designers/product-design/effective-design-communication-strategies
effective-design-communication-strategiesBRONWEN REES, DESIGNER @ TOPTALAdvanced PowerPoint Presentation Tips & HacksMany have a love-hate relationship with PowerPoint presentation design. While extremely flexible, the tool can also be manual and tedious. Remove some of the friction with these advanced PowerPoint presentation tips and tricks, as provided by a former management consultant. Whether you're designing a pitch deck or communicating your analysis to internal stakeholders, these hacks will enable you to quickly build engaging, creative presentations.Thu, 29 Jun 2017 12:49:58 -0400https://www.toptal.com/finance/financial-consultants/powerpoint-presentation-tips-and-hacks
powerpoint-presentation-tips-and-hacksMELISSA LIN, FINANCE EDITOR @ TOPTALAngular vs. React: Which Is Better for Web Development?Is Angular vs. React just a matter of personal preference? This article gives an in-depth comparison and analysis of various Angular and React components in light of real-world applications.Tue, 27 Jun 2017 09:27:55 -0400https://www.toptal.com/front-end/angular-vs-react-for-web-development
angular-vs-react-for-web-developmentTOMAS HOLAS, FREELANCE SOFTWARE ENGINEER @ TOPTALUse Craft by InVision to Streamline Team CollaborationCraft by InVision LABS is a powerful suite of plugins for Sketch. Learn how to super-charge your process and streamline collaboration for your remote team.Thu, 22 Jun 2017 11:31:02 -0400https://www.toptal.com/designers/invision/craft-by-invision
craft-by-invisionBREE CHAPIN, DESIGNER @ TOPTALAmazon vs. Walmart: Bezos Goes for the Jugular with Whole Foods AcquisitionThrough its acquisition of Whole Foods, Amazon is not only likely to disrupt the grocery shopping experience but is perhaps embarking on a grander push that could change the entire retail landscape, leaving Walmart on the back foot.Thu, 22 Jun 2017 10:05:14 -0400https://www.toptal.com/finance/mergers-and-acquisitions/amazon-vs-walmart-acquisition-strategy
amazon-vs-walmart-acquisition-strategyTOBY CLARENCE-SMITH, FINANCE BLOG LEAD EDITOR @ TOPTALHow to Perfect and Leverage Remote UX WorkshopsRemote UX workshops call for meticulous preparation and the use of proven techniques as complex details make it a challenge with many potential pitfalls.Wed, 21 Jun 2017 12:53:07 -0400https://www.toptal.com/designers/ux/mastering-remote-ux-workshops
mastering-remote-ux-workshopsCARLOS ROSEMBERG, DESIGNER @ TOPTALGet Started With Microservices: A Dropwizard TutorialDropwizard allows developers to quickly bootstrap their projects and package applications as easily deployable standalone services. It also happens to be relatively simple to use and implement.
In this tutorial, Toptal Freelance Software Engineer Dusan Simonovic will introduce you to Dropwizard and demonstrate how you can use this powerful framework to create RESTful web services with ease.Tue, 20 Jun 2017 18:00:00 -0400https://www.toptal.com/java/dropwizard-tutorial-microservices
dropwizard-tutorial-microservicesDUSAN SIMONOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALRamping up Software Deployment - A Docker Swarm TutorialDocker itself has been around for years and is composed of many inter-operating pieces. One of them is Docker Swarm, which allows you to declare your applications as stacks of services, and let Docker handle the rest.
In this article, Toptal Freelance Software Engineer Luke Sapan explains how to use Docker Swarm to deploy your own self-managing stack, followed by a quick example.Tue, 20 Jun 2017 09:08:13 -0400https://www.toptal.com/devops/software-deployment-docker-swarm-tutorial
software-deployment-docker-swarm-tutorialLUKE SAPAN, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Build an Email Sentiment Analysis Bot: An NLP TutorialBuild a bot that analyzes the sentiment of incoming email messages using Recursive Neural Tensor Networks from the Stanford NLP library.Mon, 19 Jun 2017 09:48:01 -0400https://www.toptal.com/java/email-sentiment-analysis-bot
email-sentiment-analysis-botSHANGLUN WANG, DEVELOPER @ TOPTALTop UX Books: 10 Essential, Non-Traditional ReadsThese 10 surprising UX books from various disciplines will broaden a designer's perspective and provide insight into diverse approaches to problem solving.Thu, 15 Jun 2017 13:27:09 -0400https://www.toptal.com/designers/ux/ux-books
ux-booksMIKLOS PHILIPS, DESIGN BLOG EDITOR @ TOPTALGlass-Steagall Act: Did Its Repeal Cause the Financial Crisis?The Glass-Steagall Act, Depression-era legislation, has had a controversial, unconventional run. 80 years after its inception, it’s made its way back into public discourse. This article examines the historical context of the Act, its erosion, and its repeal, as well as its impact on the financial crisis. Thu, 15 Jun 2017 10:09:19 -0400https://www.toptal.com/finance/investment-banking-freelancer/glass-steagall-act
glass-steagall-actMELISSA LIN, FINANCE EDITOR @ TOPTALSpring Batch Tutorial: Batch Processing Made Easy with SpringSpring Batch is a lightweight, comprehensive framework designed to facilitate the development of robust batch applications. It’s easy to set up, and even easier to use.
In this article, Toptal Freelance Software Engineer Alexey Saenko explains the programming model and the domain language of batch applications, using detailed code examples that should help any developer looking to get a head start in Spring Batch.Tue, 13 Jun 2017 18:00:00 -0400https://www.toptal.com/spring/spring-batch-tutorial
spring-batch-tutorialALEXEY SAENKO, FREELANCE SOFTWARE ENGINEER @ TOPTALEight CSS Tips for Advanced Layouts and EffectsKnowledge of CSS is a fundamental skill in the web development space. However, implementing certain web design patterns with just CSS can be a frustrating task, and often requires an in-depth understanding of it.
In this article, Toptal Freelance Web Developer Rico Mossesgeld shares several CSS tips and tricks that take advantage of lesser known CSS features to solve real layout and design problems.Fri, 09 Jun 2017 09:43:14 -0400https://www.toptal.com/front-end/eight-expert-css-tips
eight-expert-css-tipsRICO MOSSESGELD, DEVELOPER @ TOPTALFramer Tutorial: How to Create Stunning Interactive PrototypesFramer, the most powerful interactive prototyping tool, just became even more powerful with their latest release. In this tutorial, you will learn how to create prototypes in Framer the same way Uber, Dropbox, and Google do.Thu, 08 Jun 2017 14:34:35 -0400https://www.toptal.com/designers/framer-js/framer-tutorial-creating-prototypes
framer-tutorial-creating-prototypesWOJCIECH DOBRY, DESIGNER @ TOPTALThree Core Principles of Venture Capital Portfolio StrategyMany newcomers to venture capital fail to appreciate some of the nuances that distinguishes venture investing from traditional forms of financial investing. This article delves into three areas in particular that new venture investors should look to understand.Thu, 08 Jun 2017 13:33:09 -0400https://www.toptal.com/finance/venture-capital-consultants/venture-capital-portfolio-strategy
venture-capital-portfolio-strategyALEX GRAHAM, FINANCE EXPERT @ TOPTALBuilding an Angular Video Player with VideogularVideo accounts for more than three quarters of all bandwidth used today. That’s why developers need a solid, extensible, and advanced media framework that doesn’t come with a steep learning curve.
In this tutorial, Toptal Freelance Software Engineer Raul Jimenez will introduce you to one such framework – Videogular. If you need to harness the power of Angular for HTML5 video, look no further.Wed, 07 Jun 2017 18:00:00 -0400https://www.toptal.com/angular-js/angular-video-player-videogular
angular-video-player-videogularRAUL JIMENEZ HERRANDO, DEVELOPER @ TOPTALA Step-by-step Guide to Creating Animated Product Explainer VideosIn this tutorial, we will give a simple breakdown of the steps that you need to create an animated explainer video like the slick masterpieces built by Slack.Wed, 07 Jun 2017 14:37:21 -0400https://www.toptal.com/designers/after-effects/create-an-animated-explainer-video
create-an-animated-explainer-videoMATT BARRINGER, DESIGNER @ TOPTALTwitter Data Mining: A Guide to Big Data Analytics Using PythonTwitter is a goldmine of data. Unlike other social platforms, almost every user’s tweets are completely public and pullable.
In this tutorial, Toptal Freelance Software Engineer Anthony Sistilli will be exploring how you can use Python, the Twitter API, and data mining techniques to gather useful data.Wed, 07 Jun 2017 08:49:17 -0400https://www.toptal.com/python/twitter-data-mining-using-python
twitter-data-mining-using-pythonANTHONY SISTILLI, FREELANCE SOFTWARE ENGINEER @ TOPTALFlexbox and Sass Grid Tutorial: How to Streamline Responsive DesignRecently, I was challenged to create my own grid system and, since re-inventing the wheel is always useful as a learning experience, I went for it. I knew it would be an interesting challenge, but I was surprised by how easy it turned out to be!Tue, 06 Jun 2017 09:42:18 -0400https://www.toptal.com/sass/css3-flexbox-sass-grid-tutorial
css3-flexbox-sass-grid-tutorialJUAN VARELA , DEVELOPER @ TOPTALBoost Your UX with These Successful Interaction Design PrinciplesInteraction design principles form the bedrock of awesome UX. Truly great interaction design relies on a set of conventions, standards, best practices and rules-of-thumb.Thu, 01 Jun 2017 12:38:03 -0400https://www.toptal.com/designers/interactive/interaction-design-principles
interaction-design-principlesMIKLOS PHILIPS, DESIGN BLOG EDITOR @ TOPTALPrivate Equity Outlook 2017: Signs of FatigueThe private equity industry is showing signs of maturity as record competition amongst funds and record-high levels of dry powder, combined with strong competition from cash-rich corporates, have driven valuations to levels that make it difficult to see how returns could remain competitive.Thu, 01 Jun 2017 12:16:08 -0400https://www.toptal.com/finance/private-equity-consultants/private-equity-industry
private-equity-industryANUAR HEBERLEIN, FINANCE EXPERT @ TOPTALAndroid DDMS: A Guide to the Ultimate Android ConsoleThere is no way around application diagnostics. No matter how good your code is, you will need to be able to monitor and study system behavior. This is where Android's DDMS shines.
In this article, Senior Android Engineer Gilad Haimov explains how veteran Android developers leverage the potential of DDMS to improve app stability and performance, test new features, diagnose, and debug their code.Wed, 31 May 2017 18:00:00 -0400https://www.toptal.com/android/android-ddms-ultimate-power-console
android-ddms-ultimate-power-consoleGILAD HAIMOV, SENIOR ANDROID DEVELOPER @ TOPTALEfficient React Components: A Guide to Optimizing React PerformanceWhy does a React web app run slow? The answer often lies in when and how frequently your components re-render, and whether those re-renders were even necessary. React doesn’t promise magical performance gains, but it provides just the right tools and functionalities to make it easy.
In this article, Toptal Freelance Software Engineer William Wang walks us through some optimization techniques that can help you build performant React web apps.Fri, 26 May 2017 09:37:05 -0400https://www.toptal.com/react/optimizing-react-performance
optimizing-react-performanceWILLIAM WANG, DEVELOPER @ TOPTALDesign Process: Is it Objective or Subjective?The relationship between art and design is often misunderstood, and although a design outcome can be artful, the process behind it is altogether very different.Thu, 25 May 2017 13:29:28 -0400https://www.toptal.com/designers/ux/design-process-objective-or-subjective
design-process-objective-or-subjectiveBRONWEN REES, DESIGNER @ TOPTALApache Spark Streaming Tutorial: Identifying Trending Twitter HashtagsSocial networks are among the biggest sources of data today, and this means they are an extremely valuable asset for marketers, big data specialists, and even individual users like journalists and other professionals. Harnessing the potential of real-time Twitter data is also useful in many time-sensitive business processes.
In this article, Toptal Freelance Software Engineer Hanee' Medhat explains how you can build a simple Python application to leverage the power of Apache Spark, and then use it to read and process tweets to identify trending hashtags.Wed, 24 May 2017 09:58:31 -0400https://www.toptal.com/apache/apache-spark-streaming-twitter
apache-spark-streaming-twitterHANEE' MEDHAT, FREELANCE SOFTWARE ENGINEER @ TOPTALSelling Your Business? Stop Leaving Money on the TableWhen looking to sell your business, you will want to maximize its value through a combination of planning and timing. This article runs through some of the most important considerations to keep in mind when preparing for a sale.Tue, 23 May 2017 12:00:14 -0400https://www.toptal.com/finance/mergers-and-acquisitions/selling-a-business
selling-a-businessJEFFREY MAZER, FINANCE EXPERT @ TOPTALVirtual Reality in the Automotive IndustryFrom virtual showrooms to elaborate research and testing scenarios, virtual reality is starting to make its mark on the automotive industry. It can be used to educate novice drivers, train professionals operating industrial equipment, or test vehicles and drivers in extreme conditions.
In this article, Toptal Freelance Software Engineer Daan Terra shares his experiences in the field of automotive simulations, explaining how VR can fundamentally change the way cars are marketed, tested, and developed.Sun, 21 May 2017 18:00:00 -0400https://www.toptal.com/virtual-reality/virtual-reality-in-the-automotive-industry
virtual-reality-in-the-automotive-industryDAAN TERRA, DEVELOPER @ TOPTALWhy Startups Need a StyleguideThe top five reasons why creating a styleguide early is especially important for startups in spite of the inherent challenges.Fri, 19 May 2017 11:04:45 -0400https://www.toptal.com/designers/ux/why-startups-need-a-styleguide
why-startups-need-a-styleguideBENOÎT CHABERT, DESIGNER @ TOPTALThe Greek Debt Crisis ExplainedAfter several months of relative quiet, Greece is back in the spotlight as the latest repayment deadline on its bailout debt comes due in July. We take the opportunity to review the root causes of the crisis, what has been happening since it kicked off, and what needs to be done to resolve the situation.Thu, 18 May 2017 11:36:11 -0400https://www.toptal.com/finance/financial-consultants/greek-debt-crisis
greek-debt-crisisSOLON MOLHO, FINANCE EXPERT @ TOPTAL3D Graphics: A WebGL TutorialWhether you just want to create an interactive 3D logo, on the screen or design a fully fledged game, knowing the principles of 3D graphics rendering will help you achieve your goal.
In this article, Toptal Freelance Software Engineer Adnan Ademovic gives us a step-by-step tutorial to rendering objects with textures and lighting, by breaking down abstract concepts like objects, lights, and cameras into simple WebGL procedures.Thu, 18 May 2017 09:20:18 -0400https://www.toptal.com/javascript/3d-graphics-a-webgl-tutorial
3d-graphics-a-webgl-tutorialADNAN ADEMOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALEight Rules for Effective Software ProductionWhile working at different stages of the software development lifecycle you often realize that software production isn’t easy. It takes consistent effort to make something great. However, it doesn’t have to come at the cost of working through nights or weekends.
In this article, Toptal Freelance Software Engineer Timofey Nevolin shares eight simple, yet powerful rules for effective software production.Wed, 17 May 2017 09:30:59 -0400https://www.toptal.com/it/eight-rules-for-software-production
eight-rules-for-software-productionTIMOFEY NEVOLIN, DEVELOPER @ TOPTALThe End of Web FormsReflections on the disappearance of web forms. How mobile biometrics could unlock a personal data vault that provides what’s necessary, killing forms entirely.Thu, 11 May 2017 14:06:34 -0400https://www.toptal.com/designers/ux/end-of-web-forms-conversational-uis-chatbots
end-of-web-forms-conversational-uis-chatbotsMIKLOS PHILIPS, DESIGN BLOG EDITOR @ TOPTALServer-side I/O Performance: Node vs. PHP vs. Java vs. GoUnderstanding the Input/Output (I/O) model of your application can mean the difference between an application that deals with the load it is subjected to, and one that crumples in the face of real-world uses cases. Perhaps while your application is small and does not serve high loads, it may matter far less. But as your application’s traffic load increases, working with the wrong I/O model can get you into a world of hurt.Thu, 11 May 2017 09:14:20 -0400https://www.toptal.com/back-end/server-side-io-performance-node-php-java-go
server-side-io-performance-node-php-java-goBRAD PEABODY, DEVELOPER @ TOPTALDeath to the Wireframe. Straight to High-Fidelity!In many product design scenarios wireframes may not be necessary and skipping them altogether may cut down on confusion and save a lot of time.Wed, 10 May 2017 13:56:36 -0400https://www.toptal.com/designers/ux/straight-to-high-fidelity
straight-to-high-fidelityJEN RANDOLPH, DESIGNER @ TOPTALStay Cool: Take Design Feedback StrategicallyGetting and receiving feedback—without losing your cool—is an art. This article explains how to encourage your audience to give you quality feedback that begins with preparing a killer presentation that highlights the key problems to solve, walks your audience through your thinking, and foments constructive discussion.Tue, 09 May 2017 12:47:57 -0400https://www.toptal.com/designers/prototyping/taking-design-feedback-strategically
taking-design-feedback-strategicallyBREE CHAPIN, DESIGNER @ TOPTALIs a Cashless Society the New Reality? A cashless society is approaching, with progress particularly pronounced in certain parts of the world. This piece examines global payment trends, as well as benefits and drawbacks of a cashless economy. It also includes case studies on India and Sweden, two countries already transitioning to a cashless future. Tue, 09 May 2017 11:52:39 -0400https://www.toptal.com/finance/market-research-analysts/cashless-society-new-reality
cashless-society-new-realityMELISSA LIN, FINANCE EDITOR @ TOPTAL, LLCHow to Create Custom Magento 2 WidgetsWidgets play a pivotal role in Magento development, as they’re often used to display targeted content and provide crucial front-end functionality. Magento 2 offers a lot of widget possibilities out of the box, and also allows developers to unlock more features using custom widgets.
In this article, Toptal Freelance Software Engineer Vivek Khatri provides an overview of widget implementation in Magento 2, starting with the basics and culminating in custom widget design.Mon, 08 May 2017 18:00:00 -0400https://www.toptal.com/magento/custom-widgets-in-magento-2
custom-widgets-in-magento-2VIVEK KHATRI, DEVELOPER @ TOPTALHow C++ Works: Understanding CompilationCompilation and linking are two very fundamental processes that happen all the time during C++ software development. However, what happens during these processes? How does the compiler go from your neatly organized source code to a binary file that the machine understands?
In this article, Toptal Freelance Software Engineer Daniel Trejo explains how a C++ compiler works with some of the basic language constructs to answer some common questions that are related to these processes.Mon, 08 May 2017 09:21:30 -0400https://www.toptal.com/c-plus-plus/c-plus-plus-understanding-compilation
c-plus-plus-understanding-compilationDANIEL ANGEL MUÑOZ TREJO, DEVELOPER @ TOPTALThe State of Fintech in 2017The financial services industry is seeing a wave of innovation that is bringing with it new technology, but also a need to attract and develop talent that have the skillset needed to operate in this changing environment. This article delves into some of the most important trends affecting the industry.Wed, 03 May 2017 09:21:57 -0400https://www.toptal.com/finance/financial-consultants/fintech-2017
fintech-2017RAJEEV JEYAKUMAR, FINANCE EXPERT @ TOPTALThe Gap Between Developers and Designers is DisappearingIn the not-so-distant past, completing a design according to a designer's vision was a nightmare. There was a huge gap (or cold war) between developers and designers; now, that war is finally coming to an end.
In this article, Toptal lead design editor Michael Abehsera talks about the prototyping tools that are spearheading the disappearing gap between design and development.Tue, 02 May 2017 13:20:19 -0400https://www.toptal.com/designers/ui/gap-between-developers-and-designers
gap-between-developers-and-designersMICHAEL ABEHSERA, LEAD DESIGN BLOG EDITOR @ TOPTALAurelia vs. Angular 2 — A Code ComparisonAngular and Aurelia are fierce competitors developed and released at approximately the same time. They have a similar philosophy, but they differ in a number of key ways. This article does side-by-side comparisons of those differences in features and code.Tue, 02 May 2017 09:58:47 -0400https://www.toptal.com/angular-js/aurelia-vs-angular-2
aurelia-vs-angular-2ALEXANDER MIKHALCHENKO, DEVELOPER @ TOPTALThe 5-step Process for Turning Your Blog into a High-Conversion FunnelEvery blog publisher hopes to turn their blog into an effective marketing and sales tool. But how do you design a high-conversion funnel for your blog?
Toptal designer Peter Davis offers some helpful examples and describes a series of steps you can take to make it a success.Thu, 27 Apr 2017 12:29:43 -0400https://www.toptal.com/designers/blog-designers/design-conversion-funnels-with-blogs
design-conversion-funnels-with-blogsPETER DAVIS, DESIGNER @ TOPTALChoosing the Right eCommerce Business Model to Sell Your ProductAs retail continues to shift online, businesses and manufacturers are faced with ever-growing pressures to build serious online presences and distribution. This article looks at the different options available, and assesses their merits and considerations from a financial standpointThu, 27 Apr 2017 12:27:10 -0400https://www.toptal.com/finance/financial-analysts/ecommerce-business-models
ecommerce-business-modelsMARTIN SMITH, FINANCE EXPERT @ TOPTALBuilding Cross-platform Apps with Xamarin: Perspective of an Android DeveloperWriting reusable code that can be shared across multiple platforms can make developing mobile applications a lot easier. But, how do you do that without paying the usual cost of maintainability, ease of testing, and poor user experience that comes with cross-platform mobile application development?
In this article, Toptal Freelance Software Engineer Emran Bajrami walks us through Xamarin and shows us techniques for building high-quality cross-platform apps.Thu, 27 Apr 2017 10:00:05 -0400https://www.toptal.com/xamarin/cross-platform-apps-with-xamarin
cross-platform-apps-with-xamarinEMRAN BAJRAMI, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Create Custom Fonts: 7 Steps and 3 Case StudiesLearn to turn Comic Sans and other hated fonts into beautiful logotypes in seven easy steps.Wed, 26 Apr 2017 12:29:53 -0400https://www.toptal.com/designers/typography/make-your-own-font
make-your-own-fontMICAH BOWERS, DESIGNER @ TOPTALSQL Server 2016 Always Encrypted: Easy to Implement, Tough to CrackSecurity has always been a primary concern for database experts, and with the advent of new, decentralized services, it’s become even more crucial. Microsoft addressed the need for an added level of security in SQL with the introduction of Always Encrypted functionality in SQL Server 2016.
In this blog post, Toptal Freelance Software Engineer Josip Saban explains how Microsoft’s Always Encrypted concept works, how it’s implemented, and why developers can’t afford to ignore it.Wed, 26 Apr 2017 09:59:07 -0400https://www.toptal.com/sql-server/sql-server-2016-always-encrypted
sql-server-2016-always-encryptedJOSIP ŠABAN, FREELANCE SOFTWARE ENGINEER @ TOPTALA Guide to Consistent HashingConsistent Hashing is a distributed hashing scheme that operates independently of the number of servers or objects in a distributed hash table. It powers many high-traffic dynamic websites and web applications.
In this tutorial, Toptal Freelance Software Engineer Juan Pablo Carzolio will walk us through what it is and how hashing, distributed hashing and consistent hashing work.Tue, 25 Apr 2017 09:45:02 -0400https://www.toptal.com/big-data/consistent-hashing
consistent-hashingJUAN PABLO CARZOLIO, FREELANCE SOFTWARE ENGINEER @ TOPTALTurning Usability Testing Data into Action without Going InsaneUX and usability testing analysis is a critical skill. How do you go about collecting data and analyze results? Here’s a way to stay sane during the process.Thu, 20 Apr 2017 12:05:31 -0400https://www.toptal.com/designers/usability/turning-usability-testing-data-into-action
turning-usability-testing-data-into-actionCARLOS ROSEMBERG, DESIGNER @ TOPTALMake Your CSS Dynamic with CSS Custom PropertiesIf there is something every front-end developer wants, it is proper support for variables in CSS. For years, to work around this missing feature, developers have resorted to CSS preprocessors. However, all that changes with the introduction of CSS custom properties.
In this article, Toptal Freelance Software Engineer Nicolás J. Engler walks us through CSS custom properties and shows us how they can be used to make better, more dynamic stylesheets.Thu, 20 Apr 2017 09:44:46 -0400https://www.toptal.com/front-end/dynamic-css-with-custom-properties
dynamic-css-with-custom-propertiesNICOLÁS J. ENGLER, DEVELOPER @ TOPTALA Guide to Security Best Practices for Remote TeamsLearn how, with the right remote worker security policy, distributed teams can be just as secure as in-house teams.
Toptal Freelance Software Engineer and full-time remote worker Amin Shah Gilani walks us through common security attack methods, cyber defense strategies, and, finally, an example of a good remote worker security policy.Wed, 19 Apr 2017 08:44:49 -0400https://www.toptal.com/remote/best-security-practices-for-remote-teams
best-security-practices-for-remote-teamsAMIN SHAH GILANI, ENGINEERING BLOG EDITOR @ TOPTALeCommerce Redesigned: How Minor Changes Made Major UX ImprovementsTwo eCommerce sites were losing customers due to poor UX. A small set of UX improvements were made that greatly enhanced the sites’ usability and boosted sales.Tue, 18 Apr 2017 12:41:22 -0400https://www.toptal.com/designers/ux/e-commerce-responsive-web-design
e-commerce-responsive-web-designMIKLOS PHILIPS, UX DESIGNER AND DESIGN BLOG EDITOR @ TOPTALHow to Internationalize Your AngularJS AppInternationalizing modern apps, where the front-end and the back-end are distinctly separate from one another, can be a little tricky. AngularJS, with the help of a few tools, makes internationalizing your app a breeze.
In this article, Toptal Freelance Software Engineer Mehmet Bajin gives us a step-by-step tutorial to internationalizing and localizing AngularJS apps.Fri, 14 Apr 2017 08:38:54 -0400https://www.toptal.com/angular-js/internationalize-your-angularjs-app
internationalize-your-angularjs-appMEHMET BAJIN, DEVELOPER @ TOPTALTop 10 Mistakes that Django Developers MakeIn this tutorial, we will look at some common mistakes that are often made by Django developers and ways to avoid them. This tutorial is useful even if you’re a skilled Django developer because these mistakes aren’t just limited to new developers taking their first stab at Django.Thu, 13 Apr 2017 09:53:45 -0400https://www.toptal.com/django/django-top-10-mistakes
django-top-10-mistakesALEXANDR SHURIGIN, DEVELOPER @ TOPTALPersuasive Design: Using Advanced Psychology EffectivelyToptal designer Bronwen Rees explains how in persuasive design, social and psychological triggers can be utilized to influence user behavior.Wed, 12 Apr 2017 12:22:31 -0400https://www.toptal.com/designers/ux/persuasive-design-using-psychology
persuasive-design-using-psychologyBRONWEN REES, DESIGNER @ TOPTALHas the US Equity Crowdfunding Market Lived up to Expectations?Four years on from the signing of the JOBS act, equity crowdfunding remains a small, niche market. In this article, we take a look at the current state of equity crowdfunding in the US and assess some of the challenges the market faces if it wants to grow into its potential.Wed, 12 Apr 2017 11:31:13 -0400https://www.toptal.com/finance/fundraising/us-equity-crowdfunding-market
us-equity-crowdfunding-marketTOBY CLARENCE-SMITH, FINANCE BLOG LEAD EDITOR @ TOPTALPhalconPHP: A Solution for High-load RESTful APIsPhalconPHP will make your high-load application fast and easy, it's one of the fastest MVC frameworks for PHP available. It's written in C and supplied as a compiled PHP extension, so it doesn’t need to be interpreted at every request. Consider PhalconPHP for your next project, you won't regret it.Mon, 10 Apr 2017 11:24:20 -0400https://www.toptal.com/phalcon/phalcon-php-restful-apis
phalcon-php-restful-apisANDREW BELOUSOFF, DEVELOPER @ TOPTALHow to Design Delightful Experiences for the Internet of ThingsThe next wave of IoT will connect millions of devices. The skills needed in this new paradigm will shift from component thinking to whole systems thinking.
In this article, Toptal designer Sergio Ortiz writes about the Internet of Things, its design implications, how it will change the way businesses operate, and how we see the world—and how to help make homes, cities, and factories smarter and more efficient.Thu, 06 Apr 2017 13:02:24 -0400https://www.toptal.com/designers/ux/how-to-design-delightful-experiences-for-the-internet-of-things
how-to-design-delightful-experiences-for-the-internet-of-thingsSERGIO ORTIZ, DESIGNER @ TOPTALThe Importance of Customer Retention — An Empirical StudyStartups nowadays are hyper focused on growth at all costs, a practice which often undermines the fundamental health of the business. This article takes an in-depth look at the importance of focusing on customer retention from day one and the practical benefits it can provide in the medium to long term.Thu, 06 Apr 2017 13:00:36 -0400https://www.toptal.com/finance/venture-capital-consultants/the-importance-of-customer-retention-an-empirical-study
the-importance-of-customer-retention-an-empirical-studyJOSH CHAPMAN, FINANCE EXPERT @ TOPTALThe Salesforce Release Train: A Practical Approach to Release ManagementDeploying new features with Salesforce can be problematic in more ways than one. It is crucial to have a sound strategy governing the publication of new releases, without running the risk of breaking your product.
In this post, Toptal Software Engineer Ajinkya Deshmukh will provide you with all relevant information and key tips that will allow you to manage your next Salesforce release smoothly.Wed, 05 Apr 2017 10:24:46 -0400https://www.toptal.com/salesforce/salesforce-release-a-practical-approach
salesforce-release-a-practical-approachAJINKYA DESHMUKH, FREELANCE SOFTWARE ENGINEER @ TOPTALWhat is the Border Adjustment Tax? Potential Benefits and RisksWith tax reform discussions likely to rise to the national forefront, this article provides analysis regarding border adjustment taxes and the recent House proposal. It assesses economic implications and historical comparisons to help you understand how you and your business might be impacted.Tue, 04 Apr 2017 15:03:30 -0400https://www.toptal.com/finance/corporate-finance-consultants/what-is-the-border-adjustment-tax-potential-benefits-and-risks
what-is-the-border-adjustment-tax-potential-benefits-and-risksMELISSA LIN, FINANCE EDITOR @ TOPTALMagento 2 Tutorial: Building a Complete ModuleMagento built a reputation as an e-commerce market leader, all thanks to its ease of use and customizability. Getting into the framework was only made easier with the release of Magento 2.
In this post, Toptal Software Engineer Gabriel Queiroz Silva gives us a step-by-step tutorial to building your first Magento 2 website.Fri, 31 Mar 2017 10:40:07 -0400https://www.toptal.com/magento/magento-2-tutorial-building-a-complete-module
magento-2-tutorial-building-a-complete-moduleGABRIEL QUEIROZ SILVA, FREELANCE SOFTWARE ENGINEER @ TOPTALMaintain Slim PHP MVC Frameworks with a Layered StructureFat controllers and models: an inevitable problem for most large-scale projects based on MVC frameworks such as Yii and Laravel. Fortunately, there's a cure, and it's in architecting a layered structure.Thu, 30 Mar 2017 12:47:00 -0400https://www.toptal.com/php/maintain-slim-php-mvc-frameworks-with-a-layered-structure
maintain-slim-php-mvc-frameworks-with-a-layered-structureELVIRA SHEINA, DEVELOPER @ TOPTALHow to Conduct Usability Testing in Six StepsWhat can be done easily and inexpensively to substantially improve your product designs? User testing. User testing digital product designs is imperative if you are to design “useful” products.
This six-part process by Toptal designer John Roose describes how the insights you gain from observing how actual users use your product are well worth it.Wed, 29 Mar 2017 13:58:20 -0400https://www.toptal.com/designers/ux-consultants/how-to-conduct-usability-testing-in-6-steps
how-to-conduct-usability-testing-in-6-stepsJOHN ROOSE, DESIGNER @ TOPTALPower Pivot for Excel Tutorial: Top Use Cases and ExamplesAs organizations accumulate ever more data, working with Excel becomes harder to do. We either reach the row hard-limit, or the document slows down to a crawl. Fortunately, Excel’s Power Pivot functionality provides a way to extract, combine, and analyze large datasets without running into these issues.Wed, 29 Mar 2017 11:50:57 -0400https://www.toptal.com/finance/excel-experts/powerpivot-for-excel-tutorial-top-use-cases-and-examples
powerpivot-for-excel-tutorial-top-use-cases-and-examplesELLEN SU, FINANCE EXPERT @ TOPTALHow to Build a Natural Language Processing AppNatural language is increasingly becoming a viable way of interacting with smart software. Google search, Apple’s Siri, Microsoft’s Cortana, etc. are all capable of understanding queries in natural language.
In this article, Toptal Freelance Software Engineer Shanglun (Sean) Wang walks us through some useful concepts and techniques in natural language processing and shows how they can be used to build a simple NLP app.Fri, 24 Mar 2017 09:53:51 -0400https://www.toptal.com/algorithms/how-to-build-a-natural-language-processing-app
how-to-build-a-natural-language-processing-appSHANGLUN WANG, FREELANCE SOFTWARE ENGINEER @ TOPTALSaaS Pricing Models - Pricing Strategy Examples and Best PracticesPricing strategy is one of the most important financial levers that companies have at their disposal to influence the financial success of their business. However, it is not an easy task. This article analyzes SaaS software pricing strategies and finds that several of the operational characteristics of the business model generate some very useful pricing advantages that can help drive financial performance.Thu, 23 Mar 2017 11:14:31 -0400https://www.toptal.com/finance/pricing-consultants/saas-the-pricing-friendly-business-model
saas-the-pricing-friendly-business-modelTAYFUN USLU, FINANCE EXPERT @ TOPTALGenetic Algorithms: Search and Optimization by Natural SelectionMany problems have optimal algorithms developed for them, while many others require us to randomly guess until we get a good answer. Even an optimal solution becomes slow and complex at a certain scale, at which point we can turn to natural processes to see how they reach acceptable results.
In this article, Toptal Freelance Software Engineer Eugene Ossipov walks us through the basics of creating a Genetic Algorithm and gives us the knowledge to delve deeper into solving any problems using this approach.Thu, 23 Mar 2017 10:57:55 -0400https://www.toptal.com/algorithms/genetic-algorithms
genetic-algorithmsEUGENE OSSIPOV, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Hook eCommerce Shoppers through UX DesignFlipkart, India’s leading eCommerce marketplace, questioned why they were losing customers and asked themselves: How do you build a loyal customer base, increase engagement and solve the issue of app uninstalls? What behaviors should be studied to come up with a winning solution? The answer lay in designing a habit-forming experience.Wed, 22 Mar 2017 13:18:36 -0400https://www.toptal.com/designers/ux/how-to-hook-ecommerce-shoppers-through-ux-design
how-to-hook-ecommerce-shoppers-through-ux-designBILAL MOHAMMED, DESIGNER @ TOPTALHow to Build CSS-only Smart Layouts with FlexboxAlthough CSS was meant to deal with styling, creating extraordinary layouts on the web has always been a unique challenge and almost always required the developer to resort to JavaScript. However, Flexbox is here to change that.
In this article, Toptal Freelance Software Engineer Diego Díaz walks us through the basics of Flexbox and some cool examples of how Flexbox can be used to build smart CSS-only layouts.Wed, 22 Mar 2017 10:52:32 -0400https://www.toptal.com/front-end/how-to-build-css-only-smart-layouts-with-flexbox
how-to-build-css-only-smart-layouts-with-flexboxDIEGO DÍAZ, FREELANCE SOFTWARE ENGINEER @ TOPTALDon't Try to Change the World, Design a Toy InsteadIn apps, the next big thing is almost always initially dismissed as a toy. Things like Snapchat and VR, initially targeting the gaming industry and teen markets, ended up blossoming into disruptive technologies.Mon, 20 Mar 2017 14:01:29 -0400https://www.toptal.com/designers/product-design/don-t-try-to-change-the-world-design-a-toy-instead
don-t-try-to-change-the-world-design-a-toy-insteadMICHAEL ABEHSERA, LEAD DESIGN BLOG EDITOR @ TOPTALTop 10 Most Common Spring Framework MistakesJava's open source Spring framework is a popular tool for creating high performing applications using plain old Java objects, but as with any tool, inappropriate use can lead to trouble. In this article, we cover the most common pitfalls of using the Spring framework so new and experienced developers alike have a roadmap of what to avoid.Thu, 16 Mar 2017 18:55:07 -0400https://www.toptal.com/spring/top-10-most-common-spring-framework-mistakes
top-10-most-common-spring-framework-mistakesTONI KUKURIN, DEVELOPER @ TOPTALOpen Source Software - Investable Business Model or Not?Open-source software is a catalyst for growth and change in the IT industry, and one can’t overestimate its importance to the sector. In recent years, there has been a surge in venture capital dollars pouring into the sector. In this article, we analyse whether recent valuations make sense, and whether the open-source model lends itself to the returns profile that venture capital investors look for.Thu, 16 Mar 2017 13:02:04 -0400https://www.toptal.com/finance/venture-capital-consultants/open-source-software-investable-business-model-or-not
open-source-software-investable-business-model-or-notNATALLIA CHYKINA, FINANCE EXPERT @ TOPTALA Rant against Pretty DesignsOften, designers make the mistake of designing apps for their own vanity, focusing on the veneer instead of designing a great user experience. As Steve Jobs once said, "Most people make the mistake of thinking design is what it looks like."
In this article, Toptal UX Designer ￼Miklos Philips discusses Jobs's point of view and clarifies the importance of designing for people.Wed, 15 Mar 2017 14:10:12 -0400https://www.toptal.com/designers/ui/a-rant-against-pretty-app-designs
a-rant-against-pretty-app-designsMIKLOS PHILIPS, UX DESIGNER @ TOPTALStop Making Garbage: A Guide to Designing Interfaces That LastWe are a throw-away society—products wear out far too quickly or are replaced by something shinier, newer, or more trendy.
In this piece, we look at designs that have stood the test of time and break down what made them successful. No matter what you’re working on, these guiding principles will help you stop designing disposables and begin creating designs that last.Tue, 14 Mar 2017 12:48:46 -0400https://www.toptal.com/designers/visual-identity/stop-making-garbage-a-guide-to-designing-interfaces-that-last
stop-making-garbage-a-guide-to-designing-interfaces-that-lastBREE CHAPIN, DESIGN BLOG EDITOR @ TOPTALWrite Fat-free Java Code with Project LombokJava has some idiosyncrasies of its own and design choices that can make it rather verbose. While Java is a mature and performant programming language, developers frequently need to write boilerplate code that bring little or no real value other than complying with some set of constraints and conventions.
In this article, Toptal Freelance Software Engineer Miguel García López shows how Project Lombok can help dramatically reduce the amount of boilerplate code that needs to be written in a Java application.Mon, 13 Mar 2017 12:01:15 -0400https://www.toptal.com/java/write-fat-free-java-code-project-lombok
write-fat-free-java-code-project-lombokMIGUEL GARCÍA LÓPEZ, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Create Custom Loading Animations to Decrease Bounce RatesYou probably wouldn't stare at a white screen on a site or app for more than a few seconds without a page load status or time indicator. A well-crafted loading animation helps you stay engaged while you wait. Toptal Design Editor Tidjane Tall will show you how Slack, Trello, and Flickr loading animations can be done with ease. You'll be able to apply what you learn to create your own branded loading animation from scratch.Mon, 13 Mar 2017 11:00:08 -0400https://www.toptal.com/designers/product-design/how-to-create-custom-loading-animations-to-decrease-bounce-rates
how-to-create-custom-loading-animations-to-decrease-bounce-ratesTIDJANE TALL, TOPTAL DESIGN EDITOR @ TOPTALAndroid Threading: All You Need to KnowAndroid provides many ways of creating and managing threads, and third-party libraries exist to make that even easier. However, with so many options, choosing the right approach can be quite confusing.
In this article, Toptal Freelance Software Engineer Eliran Goshen discusses some common scenarios in Android development that involve threading and how each of the scenarios can be dealt with.Fri, 10 Mar 2017 07:42:26 -0500https://www.toptal.com/android/android-threading-all-you-need-to-know
android-threading-all-you-need-to-knowELIRAN GOSHEN, FREELANCE SOFTWARE ENGINEER @ TOPTALA Unit Testing Practitioner's Guide to Everyday MockitoUsing Mockito is not just a matter of adding another dependency. It requires changing how you think about your unit tests while removing a lot of boilerplate.
In this article, we'll cover multiple mock interfaces, listening invocations, matchers, and argument captors, and see firsthand how Mockito makes your tests cleaner and easier to understand.
Wed, 08 Mar 2017 09:51:06 -0500https://www.toptal.com/java/a-guide-to-everyday-mockito
a-guide-to-everyday-mockitoIVAN PAVLOV, DEVELOPER @ TOPTALXamarin Forms, MVVMCross, and SkiaSharp: The Holy Trinity of Cross-Platform App DevelopmentDeveloping a mobile app for multiple platforms can be quite costly. Implementing the same functionalities in multiple programming languages and dealing with a plethora of unique libraries for each platform requires a massive amount of time and knowledge.
In this article, Toptal Freelance Software Engineer Sylvain Gravel talks about Xamarin and its companion technologies that let you build mobile applications for multiple platforms without compromising familiarity, performance, and uniqueness.Mon, 06 Mar 2017 10:16:20 -0500https://www.toptal.com/mobile/xamarin-mvvmcross-skiasharp-cross-platform
xamarin-mvvmcross-skiasharp-cross-platformSYLVAIN GRAVEL, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Simplify Concurrency with Reactive Modelling on AndroidDealing with concurrency in Android through imperative-style programming can be quite the hassle. RxJava, a library for reactive and functional style programming, allows concurrency constructs to be modeled in a reactive way in Android's non-reactive world.
In this article, Toptal Freelance Software Engineer Christopher Arriola shows us how RxJava can be incrementally introduced to existing Android projects and leveraged to simplify concurrency.Fri, 03 Mar 2017 08:31:51 -0500https://www.toptal.com/android/simplify-concurrency-reactive-modelling-android
simplify-concurrency-reactive-modelling-androidCHRISTOPHER ARRIOLA, FREELANCE SOFTWARE ENGINEER @ TOPTALDesign for Emotion to Increase User EngagementWhen done well, emotional design increases engagement and can elicit an emotion that will deliver a positive response in users.Thu, 02 Mar 2017 15:09:07 -0500https://www.toptal.com/designers/product-design/design-for-emotion-to-increase-user-engagement
design-for-emotion-to-increase-user-engagementMIKLOS PHILIPS, UX DESIGNER @ TOPTALPHP Frameworks: Choosing Between Symfony and LaravelMany popular languages for web development have their 'default' framework, such as Ruby on Rails for Ruby, or Django for Python. However, PHP has no such single default and has multiple popular options to choose from.
In this article, Toptal Freelance Developer Karim Sakhibgareev compares the two most popular PHP frameworks, Symfony and Laravel, explores their features, and establishes guidelines for how PHP developers should choose between them.Thu, 02 Mar 2017 09:14:50 -0500https://www.toptal.com/php/choosing-between-symfony-and-laravel-frameworks
choosing-between-symfony-and-laravel-frameworksKARIM SAKHIBGAREEV, FREELANCE SOFTWARE ENGINEER @ TOPTALSnapchat IPO: It’s All About the ARPU, DummyAhead of Snap's IPO, we take a look at whether the rumoured valuation makes sense, and find that whilst overall market concerns regarding DAU growth are justified, the market is likely under-valuing the company’s ARPU growth prospects. For us, Snap is a Buy.Tue, 28 Feb 2017 10:45:23 -0500https://www.toptal.com/finance/valuation/snap-all-about-the-arpu-dummy
snap-all-about-the-arpu-dummyJOE MATTA, FINANCE EXPERT @ TOPTALHow to Quickly Turn Boring Icons into Original MasterpiecesIcons are critical to our designs, yet we download the same tired icon sets for every project.
To address this problem, Toptal Design Editor Tidjane Tall created this guide. In it, you'll learn how to add visual depth to your icons, and make them unique to the product they represent. Mon, 27 Feb 2017 11:15:01 -0500https://www.toptal.com/designers/icon/how-to-quickly-turn-boring-icons-into-original-masterpieces
how-to-quickly-turn-boring-icons-into-original-masterpiecesTIDJANE TALL, TOPTAL DESIGN EDITOR @ TOPTALA Guide to CloudKit: How to Sync User Data Across iOS DevicesModern mobile application development requires a well thought-out plan for keeping user data in sync across various devices. This is a thorny problem with many gotchas and pitfalls, but users expect the feature and expect it to work well. For iOS and macOS, Apple provides a robust toolkit, called CloudKit API, which allows developers targeting Apple platforms to solve this synchronization problem.
In this article, Toptal Software Engineer Paul Young demonstrate how to use CloudKit to keep a user’s data in sync between multiple clients.Mon, 27 Feb 2017 09:24:43 -0500https://www.toptal.com/ios/sync-data-across-devices-with-cloudkit
sync-data-across-devices-with-cloudkitPAUL YOUNG, FREELANCE SOFTWARE ENGINEER @ TOPTALA Guide to Robust Unit and Integration Tests with JUnitAutomated software tests are critically important to the long-term quality, maintainability, and extensibility of software projects, and for Java, JUnit is the path to automation.
While most of this article will focus on writing robust unit tests and utilizing stubbing, mocking, and dependency injection, Toptal Software Engineer Josh Hayden will also discuss JUnit and integration tests. Fri, 24 Feb 2017 09:37:53 -0500https://www.toptal.com/java/getting-started-with-junit
getting-started-with-junitJOSHUA HAYDEN, DEVELOPER @ TOPTALTerm Sheet Templates - Clauses to Look Out For During NegotiationDespite the large increase in resources aimed at helping founders navigate the fundraising process, many still struggle when it comes to particular term sheet clauses that can have unintended consequences if misunderstood.
These clauses can lead to founders losing control of their company or payout structures upon exit down the road, regardless of how much capital they succeeded in raising. This in-depth post by Toptal Finance Expert and VC Alex Graham fills the knowledge gap by breaking down the term sheet's trickiest clauses and the implications thereof.Mon, 20 Feb 2017 10:01:51 -0500https://www.toptal.com/finance/fundraising/common-term-sheet-mistakes-founders-make
common-term-sheet-mistakes-founders-makeALEX GRAHAM, TOPTAL FINANCE EXPERT @ TOPTALWordPress REST API: The Next Generation CMS FeatureFor a while, WordPress seemed to had fallen behind. As the web became more reliant on JavaScript to create immersive, interactive experiences, it became increasingly clear that WordPress needed to offer new ways for users and developers to interact with its content.
In this post, Toptal Freelance Developer Brian Coords explores the amazing new features of WordPress's REST API, showing why WordPress is still on the cutting edge of web development.Mon, 20 Feb 2017 09:19:27 -0500https://www.toptal.com/wordpress/beginners-guide-wordpress-rest-api
beginners-guide-wordpress-rest-apiBRIAN COORDS, FREELANCE SOFTWARE ENGINEER @ TOPTAL10 Videos All Designers Should WatchFrom the great industrial designer Dieter Rams explaining his principle of design, to Adam Grant discussing the habits of original thinkers, we've curated the best of the best videos for designers. So sit back, and get cozy with some of our favorite design videos.Thu, 16 Feb 2017 13:09:57 -0500https://www.toptal.com/designers/creative-direction/10-videos-all-designers-should-watch
10-videos-all-designers-should-watchBREE CHAPIN, DESIGNER @ TOPTALUnlimited Scale and Free Web Hosting with GitHub Pages and CloudflareWhether you’re a bootstrapped startup that needs a brochureware website or a corporation that needs a high-performing web app, this post is for you. In it, Toptal Software Engineer Amin Shah Gilani teaches you how to setup a static, SSL-secure website for the very low cost of free, using Github Pages and Cloudflare.Thu, 16 Feb 2017 08:37:51 -0500https://www.toptal.com/github/unlimited-scale-web-hosting-github-pages-cloudflare
unlimited-scale-web-hosting-github-pages-cloudflareAMIN SHAH GILANI, FREELANCE SOFTWARE ENGINEER @ TOPTALA Step-by-step Guide to UI Animation with Principle and SketchInterfaces that have animations and transitions provide a better UX for app users, and stimulate user engagement. It’s becoming increasingly important to understand how to add motion to your designs, which is why we wrote today’s tutorial.
In it, Toptal Design Editor Tidjane Tall demonstrates how to craft effective UI animation techniques, using Principle for Mac, in a series of short videos.Tue, 14 Feb 2017 12:50:11 -0500https://www.toptal.com/designers/prototyping/a-practical-guide-to-ui-animation
a-practical-guide-to-ui-animationTIDJANE TALL, DESIGN BLOG EDITOR @ TOPTALGetting the Most from Equity Research - Lessons from a Former Research AnalystEquity research provides a very useful function in our current financial markets. Nevertheless, the profession has come under fire in recent years.
In this post, Toptal Finance Expert Ryan Downie details how to utilize research reports more effectively. Additionally, he outlines the equity research's main value for both sophisticated and retail investors and highlights the pitfalls of this profession, its causes, and how you should evaluate research in order to avoid these issues.
Tue, 14 Feb 2017 11:24:39 -0500https://www.toptal.com/finance/equity-research-analysts/getting-the-most-from-equity-research
getting-the-most-from-equity-researchRYAN DOWNIE, TOPTAL FINANCE EXPERT @ TOPTALThe Advanced Git Guide: Git Stash, Reset, Rebase, and MoreCould you be using Git more efficiently?
The answer is probably a resounding “Yes,” which is why Toptal Software Engineer Ursula Clarke wrote today’s post.
In it, she teaches you how to use git stash, git reset, git bisect, git squash, and git rebase for maximum productivity.Tue, 14 Feb 2017 09:33:58 -0500https://www.toptal.com/git/the-advanced-git-guide
the-advanced-git-guideURSULA CLARKE, DEVELOPER @ TOPTALHow to Integrate OAuth 2 Into Your Django/DRF Back-end Without Going InsaneSo you've implemented user authentication. Now, you want to allow your users to log in with Twitter, Facebook or Google. No problem. You're only a few lines of code away from doing so.
But while there are hundreds of OAuth 2 packages that pip knows, only a few actually do what they’re supposed to do.
In this article, Toptal Software Engineer Peter Goodspeed-Niklaus explains how to integrate OAuth 2 into your Django or Django Rest Framework using Python Social Auth.Mon, 13 Feb 2017 10:04:19 -0500https://www.toptal.com/django/integrate-oauth-2-into-django-drf-back-end
integrate-oauth-2-into-django-drf-back-endPETER GOODSPEED-NIKLAUS, FREELANCE SOFTWARE ENGINEER @ TOPTALDesign Constraints: Why Saying "No" is so EffectiveWe can harness the power of constraints by consciously choosing to place strict limits on design options, and we needn’t look beyond our own smartphones to find compelling examples of how this works. Wed, 08 Feb 2017 14:32:43 -0500https://www.toptal.com/designers/ui/design-constraints
design-constraintsMICAH BOWERS, UI DESIGNER @ TOPTALFreelancer Identity Theft: It Happened to Me—Here's What You Should KnowFreelancer identity theft happens all the time. In fact, someone’s likely had their identity stolen as you read these words. Let’s hope it wasn’t you.
In this post, Toptal Software Engineer Relja Damnjanovic shares his story about freelancer identity theft and offers lessons for freelancers, who don’t want to learn things the hard way.Wed, 08 Feb 2017 10:12:10 -0500https://www.toptal.com/freelance/freelancer-identity-theft
freelancer-identity-theftRELJA DAMNJANOVIC, SOFTWARE ENGINEER @ TOPTALHiring a Startup CFO - When to Hire a CFO and Why You Need OneThe value of a CFO for a startup is a hotly contested topic. The crux of the predicament is that while CFOs add significantly greater value than a junior financial team, they're expensive. In this article, Finance Expert Scott Brown helps you identify where your company is in the "hierarchy of finance needs" and guides you toward the option that best address them.
Tue, 07 Feb 2017 11:28:56 -0500https://www.toptal.com/finance/interim-cfos/hiring-a-startup-cfo
hiring-a-startup-cfoSCOTT BROWN, FREELANCE FINANCE EXPERT @ TOPTALHow to Write Automated Tests for iOSIn this tutorial, you will learn how automated testing works for the iOS platform and how to implement it in your project.Tue, 07 Feb 2017 10:59:27 -0500https://www.toptal.com/ios/how-to-write-automated-tests-for-ios
how-to-write-automated-tests-for-iosJOSIP PETRIĆ, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to be Efficient in PhpStorm: An IDE that Really MattersIt’s every developer’s dream to be more efficient. In this article, you’ll learn how one engineer saved himself from typing more than 20,000 characters over six months and prevented 1,000 bugs in the process.Mon, 06 Feb 2017 12:27:11 -0500https://www.toptal.com/php/how-to-be-efficient-in-phpstorm
how-to-be-efficient-in-phpstormALEXEY FILATOV, DEVELOPER @ TOPTALAnticipatory Design: How to Create Magical User ExperiencesAnticipatory design is the UX technique of simplifying processes and responding to user needs one step before they actually express those needs, simplifying user decisions and leading to magical experiences.Thu, 02 Feb 2017 14:28:19 -0500https://www.toptal.com/designers/product-design/anticipatory-design-how-to-create-magical-user-experiences
anticipatory-design-how-to-create-magical-user-experiencesMIKLOS PHILIPS, UI/UX DESIGNER @ TOPTALIonic 2 vs. Ionic 1: Performance Gains, New Tools, and a Big Step ForwardThe Ionic project is rapidly gaining in popularity and is one of the most popular open source projects worldwide. With the recent announcement of the stable version of Ionic 2, this is the perfect time to underscore the Ionic 2 and its predecessor.
In this post, Toptal software engineer Julien Renaux outlines the major changes Ionic 2 brought to the platform and explains how to put these new features to good use.Thu, 02 Feb 2017 11:21:32 -0500https://www.toptal.com/ionic/ionic-1-vs-ionic-2-key-differences
ionic-1-vs-ionic-2-key-differencesJULIEN RENAUX, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Impact of Brexit on the Financial Services SectorSince the historic Brexit vote, much speculation has been made regarding the effects this would have on the UK's economy. In this article, I take a look at what the anticipated impacts of Brexit on the UK financial sector are, assess their merits and likelihood, and see what the long-lasting impact on the financial sector around the world may be.Wed, 01 Feb 2017 14:36:16 -0500https://www.toptal.com/finance/market-research-analysts/brexit-and-its-effect-on-the-uk-european-and-global-financial-sector
brexit-and-its-effect-on-the-uk-european-and-global-financial-sectorTOBY CLARENCE-SMITH, LEAD FINANCE BLOG EDITOR @ TOPTALThe Ultimate List of Resources to Learn C and C++C is often called a middle-level computer language as it combines the elements of high-level languages with the functionalism of assembly language. C allows the manipulation of bits, bytes, and addresses - giving the programmer more control over exactly how the program will behave and a more direct access to the mechanics of the underlying hardware.
C was created, influenced, and field tested by working programmers. The end result is that C gives the programmer what the programmer wants.
C++ is an enhanced version of the C language. C++ includes everything that is part of C and adds support for object-oriented programming (OOP). In addition, C++ also contains many improvements and features that make it a “better C”, independent of object oriented programming.Tue, 31 Jan 2017 16:14:42 -0500https://www.toptal.com/c/the-ultimate-list-of-resources-to-learn-c-and-c-plus-plus
the-ultimate-list-of-resources-to-learn-c-and-c-plus-plusTHE TOPTAL RESEARCH TEAM, RESEARCH @ TOPTALA Guide to npm: The Node.js Package ManagerIn this article, Toptal Software Engineer Martin Gouws explains advanced features of the Node Package Manager that should be in every JavaScript developer’s knowledge base. Tue, 31 Jan 2017 12:44:52 -0500https://www.toptal.com/javascript/a-guide-to-npm-the-node-package-manager
a-guide-to-npm-the-node-package-managerMARTIN GOUWS, DEVELOPER @ TOPTALSwift Tutorial: An Introduction to the MVVM Design PatternOn every new project, you have the privilege of deciding how you’ll architect the app and organize the code. But if you don’t pay attention, or you rush through coding, you risk ending up with spaghetti code. The solution? Use a proper design pattern.
In this tutorial, Toptal Software Engineer Dino Bartošak explains how to implement an MVVM design pattern on a demo Swift application.Mon, 30 Jan 2017 12:19:23 -0500https://www.toptal.com/ios/swift-tutorial-introduction-to-mvvm
swift-tutorial-introduction-to-mvvmDINO BARTOŠAK, FREELANCE SOFTWARE ENGINEER @ TOPTAL20 Testimonial Pages to Inspire Future CustomersCheck out a collection of testimonial page inspirations created by different designers from around the world. Toptal designer Jônatas Vieira curated a selection of designs that each empowers its brand story.
Some of the screens are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 30 Jan 2017 10:23:11 -0500https://www.toptal.com/designers/web/20-testimonial-pages-to-inspire-future-customers
20-testimonial-pages-to-inspire-future-customersJÔNATAS VIEIRA, DESIGNER @ TOPTALA Beginner’s Guide To Managing Software Development with Kanban and TrelloWhile the success of your project depends on many factors, one of the most common reasons projects fail is a lack of management or downright bad project management.
In this post, Lead Engineering Editor Demir Selmanovic teaches you the basics of Agile project management using Kanban and Trello.Fri, 27 Jan 2017 10:34:41 -0500https://www.toptal.com/agile/guide-managing-development-kanban-trello
guide-managing-development-kanban-trelloDEMIR SELMANOVIC, LEAD TECHNICAL EDITOR @ TOPTALThe Party Isn’t Over: A Deep-Dive into Why Unicorns Will Bounce Back in 2017Between 2013 and 2015, the number of Unicorns exploded to 140 members, marking an incredible growth spurt in valuations and positive sentiment toward the venture industry.
But after a rocky 2016, in which scandals, funding downrounds, and more cautious investor commentary emerged, many have questioned the validity of the sector’s valuations. With this backdrop, 2017 is shaping up to be a make-or-break year for the Unicorn Club. Is the party over?Thu, 26 Jan 2017 13:22:04 -0500https://www.toptal.com/finance/venture-capital-consultants/the-party-isn-t-over-a-deep-dive-into-why-unicorns-will-bounce-back-in-2017
the-party-isn-t-over-a-deep-dive-into-why-unicorns-will-bounce-back-in-2017TOBY CLARENCE-SMITH, LEAD FINANCE BLOG EDITOR @ TOPTALTime Management Secrets of an Efficient EngineerFreelancers work flexible hours, but this convenience comes at a price: They have to manage their time better than on-site professionals. However, it also means they're free to optimize their routine and achieve exceptional efficiency.
In this post, software engineer Dmitry Ryazantsev will guide you through the ins and outs of personal time management, leaving little to chance. What good are great rates if you waste hours each week?Tue, 24 Jan 2017 12:05:47 -0500https://www.toptal.com/software/time-management-secrets
time-management-secretsDMITRY RYAZANTSEV, FREELANCE SOFTWARE ENGINEER @ TOPTALOptimize Your Site for Conversions: 7 Strategies That WorkA client just hired you to design a landing page for their new offering. They want more than just a beautiful design -- they want a page that converts. What do you do?
You read this post, which teaches you seven conversion rate optimization (CRO) tips for designing highly effective landing pages.Tue, 24 Jan 2017 10:33:47 -0500https://www.toptal.com/designers/web/optimize-your-site-for-conversions-7-strategies-that-work
optimize-your-site-for-conversions-7-strategies-that-workBREE CHAPIN, DESIGNER @ TOPTAL20 eCommerce UIs That Make Shopping EasierCheck out a collection of mobile eCommerce inspirations created by different designers from around the world. Toptal Designer Cai Cardenas curated a selection of designs that each delights their users.
Some of the screens are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 23 Jan 2017 12:42:57 -0500https://www.toptal.com/designers/mobile/20-ecommerce-uis-that-make-shopping-easier
20-ecommerce-uis-that-make-shopping-easierCAI CARDENAS, DESIGNER @ TOPTALMeet Phoenix: A Rails-like Framework for Modern Web Apps on ElixirIn back-end software development, increased productivity often comes at the cost of performance. In this article, Toptal Software Engineer Eduardo Bautista shows us how the Phoenix framework builds on the familiar concepts from the Rails world, and makes it even easier to build robust concurrent applications without compromising performance.Mon, 23 Jan 2017 09:46:30 -0500https://www.toptal.com/phoenix/phoenix-rails-like-framework-web-apps
phoenix-rails-like-framework-web-appsEDUARDO BAUTISTA, FREELANCE SOFTWARE ENGINEER @ TOPTALA Step-by-step Guide to Designing Custom Illustrations Without Any Drawing SkillsMany designers shy away from making their own custom illustrations for the fear that they don't have conventional drawing skills. What if we could show you how to make your own great custom illustrations, no sketching skills required? In this article, Toptal Design Blog Editor Tidjane Tall guides us through three step-by-step illustrations each with different styles. Thu, 19 Jan 2017 12:37:43 -0500https://www.toptal.com/designers/illustration/a-step-by-step-guide-to-designing-custom-illustrations-without-any-drawing-skills
a-step-by-step-guide-to-designing-custom-illustrations-without-any-drawing-skillsTIDJANE TALL, DESIGN BLOG EDITOR @ TOPTALImmutability in JavaScript using ReduxIn an ever growing ecosystem of rich and complicated JavaScript applications, there’s more state to be managed than ever before: the current user, the list of posts loaded, etc.Managing state can be hard and error prone, but immutability and Redux- a predictable state container for JavaScript apps- can help significantly.
In this article, Toptal Programmer David Xu talks about managing state using immutability with Redux, a predictable state container.Wed, 18 Jan 2017 12:09:21 -0500https://www.toptal.com/javascript/immutability-in-javascript-using-redux
immutability-in-javascript-using-reduxDAVID XU, DEVELOPER @ TOPTALDecision-Making Biases: Why Terrible Designs Seem Like a Good Idea at the TimeLike all people, designers have biases about the world. Unfortunately, many of these biases can seriously damage our quality of work before it's too late to notice. In this article, Toptal Design Blog Editor Michael Abehsera tells us what kinds of biases designers unwittingly hold and how they can overcome them.Wed, 18 Jan 2017 11:35:55 -0500https://www.toptal.com/designers/ux/decision-making-biases-why-terrible-designs-seem-like-a-good-idea-at-the-time
decision-making-biases-why-terrible-designs-seem-like-a-good-idea-at-the-timeMICHAEL ABEHSERA, DESIGN BLOG EDITOR @ TOPTALIllustration Inspirations to Help Breathe Life Into Your BrandCheck out a collection of custom illustration inspirations created by different designers from around the world. Toptal Illustrator Waldek Graczyk curated a selection of illustrations that each finds a way to represent its respective brand.
Some of the illustrations are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 16 Jan 2017 12:45:04 -0500https://www.toptal.com/designers/illustration/illustration-inspirations-to-help-breathe-life-into-your-brand
illustration-inspirations-to-help-breathe-life-into-your-brandWALDEK GRACZYK, ILLUSTRATOR @ TOPTALA Guide to Managing Webpack DependenciesThe Webpack module bundler processes JavaScript code and all static assets, such as stylesheets, images, and fonts. However, configuring Webpack and its dependencies can be cumbersome and not always a straightforward process, especially for beginners.
In this article, Toptal Software Engineer Andrej Gajdos provides a guide with examples on how to configure Webpack for different scenarios and points out the most common pitfalls connected to project dependencies and their bundling when using Webpack.Tue, 10 Jan 2017 12:16:09 -0500https://www.toptal.com/javascript/a-guide-to-managing-webpack-dependencies
a-guide-to-managing-webpack-dependenciesANDREJ GAJDOS, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Build a Multilingual App: A Demo With PHP and GettextMaking your website or web app available to a wider audience often requires it to be available in multiple languages. For non-English projects, you can increase your audience by releasing it in English as well as your native language. Internationalizing and localizing your project, however, becomes a much easier process if you start during its infancy.
In this article, Toptal Software Engineer Igor Gomes dos Santos shows us how to leverage simple tools, like Gettext and Poedit, to internationalize and localize a PHP project.Mon, 09 Jan 2017 12:44:00 -0500https://www.toptal.com/php/build-multilingual-app-with-gettext
build-multilingual-app-with-gettextIGOR SANTOS, FREELANCE SOFTWARE ENGINEER @ TOPTALLogo Animation Inspirations to Make Your Brand More RelatableCheck out a collection of brand animation inspirations created by different designers from around the world. Toptal Designer Jason Gonzalez curated a selection of designs that each finds a way to energize its respective brand.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 09 Jan 2017 10:55:06 -0500https://www.toptal.com/designers/brand/logo-animation-inspirations-to-make-your-brand-more-relatable
logo-animation-inspirations-to-make-your-brand-more-relatableJASON GONZALEZ, DESIGNER @ TOPTALRealm Is the Best Android Database SolutionSince the inception of the platform, Android developers have had pretty much only one option for a database: SQLite. Although feature-rich and powerful, it wasn’t quite what Android app developers needed. Realm, a modern, efficient database solution for mobile platforms, turned out to be an amazing replacement for SQLite on Android.
In this article, Toptal Software Engineer Mateus Gondim Romão Batista explains why you should use Realm for your next Android application.Fri, 06 Jan 2017 12:26:23 -0500https://www.toptal.com/android/realm-best-android-database-solution
realm-best-android-database-solutionMATEUS GONDIM ROMÃO BATISTA, FREELANCE SOFTWARE ENGINEER @ TOPTALThe 11 Photoshop Plugins That Made Me a Better Designer in 2016Despite Photoshop's unparalleled feature set, everyone has a few extra things that they wish the product could do. Fortunately, there is a rich community of third party developers who are regularly pumping outout fantastic plugins and extensions to make you a better designer.
In this article, Toptal Design Blog Editor Michael Abehsera has lined up some of the best Photoshop plugins that make him a better, more efficient designer. There are a plethora of plugins out there, but these are the essentials.Thu, 05 Jan 2017 12:49:55 -0500https://www.toptal.com/designers/ui/11-photoshop-plugins-made-me-a-better-designer
11-photoshop-plugins-made-me-a-better-designerMICHAEL ABEHSERA, DESIGN BLOG EDITOR @ TOPTALPostCSS: Sass’s New Play DatePostCSS is the hot new tool that’s making the rounds on the front-end side of web development. It has been quickly and widely adopted, and possibly will have a significant impact on how we base our present-day CSS.
In this article, Toptal Software Engineer Nicolás J. Engler introduces us and guides us on how to start using this tool, expand it with plugins, or integrate with other CSS processors, task runners, or bundlers.Tue, 03 Jan 2017 10:56:15 -0500https://www.toptal.com/front-end/postcss-sass-new-play-date
postcss-sass-new-play-dateNICOLÁS J. ENGLER, FREELANCE SOFTWARE ENGINEER @ TOPTALPlease Your Readers With These Blog Layout InspirationsCheck out a collection of blog layout design inspirations created by different designers from around the world. Toptal Designer Francesca Gilbert curated a selection of designs that each finds ways to communicate a blog's unique personality.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 02 Jan 2017 10:18:17 -0500https://www.toptal.com/designers/web/please-readers-with-these-blog-layout-inspirations
please-readers-with-these-blog-layout-inspirationsFRANCESCA GILIBERT, DESIGNER @ TOPTALThe Best Design Articles of 2016Today, in a world where only three percent of adults spend time learning each day, reading is a competitive advantage.
To jumpstart your learning in 2017, we’ve curated the absolute best design links published around the web in 2016. You’re welcome.Fri, 30 Dec 2016 12:40:28 -0500https://www.toptal.com/designers/ux/article-design-roundup-2016
article-design-roundup-2016LAUREN HOLLIDAY, MANAGING EDITOR @ TOPTALMake Your Web Front-end Reliable with ElmIf you’ve spent your fair share of time developing web front-ends, you know that no amount of libraries and plugins are sufficient enough to make the development experience pleasant. Unpredictable event chains, complex data binding, and lack of structured data modeling only makes things worse.
Elm, a programming language built for front-end development, cuts to the root of all these problems and solves them there.
In this post, Toptal Software Engineer Stanislav Davydov provides a detailed guide to Elm and shows us how The Elm Architecture solves some of the most fundamental challenges of front-end development.Fri, 30 Dec 2016 12:33:36 -0500https://www.toptal.com/front-end/make-web-front-end-reliable-with-elm
make-web-front-end-reliable-with-elmSTANISLAV DAVYDOV, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Art of Building Self-Service Admin AreasSoftware is regular and predictable, so it seems paradoxical that practically every web app needs a sizable administrative area. The explanation for this paradox lies in software’s interaction with humans. While you probably can't build a fully automated system, there's a lot you can do to save time and money.
In this post, Entrepreneur Jack Kinsella explains what you can do to streamline administration, thus saving valuable time and making your projects more profitable. Adminimisation is the word of the day!Thu, 29 Dec 2016 14:56:39 -0500https://www.toptal.com/front-end/best-practices-for-building-admin-areas
best-practices-for-building-admin-areasJACK KINSELLA, ENTREPRENEUR @ JACKKINSELLA.IEDon't Hate WordPress: 5 Common Biases DebunkedToday, WordPress covers more than 50 percent of website shares and serves nearly 60 million websites worldwide. Its popularity has resulted in many misconceptions that have grown and spread like a forest fire, and have made people stay away from WordPress.
In this post, Toptal Software Engineer Donald Mudenge explains the five most common WordPress taboos and myths, clarifies them, and offers solutions on how to overcome them.Wed, 28 Dec 2016 13:01:11 -0500https://www.toptal.com/wordpress/debunking-wordpress-myths
debunking-wordpress-mythsDONALD MUDENGE, FREELANCE SOFTWARE ENGINEER @ TOPTALRetain Users With These Mobile App Onboarding Inspirations Check out a collection of onboarding design inspirations created by different designers from around the world. Toptal Design Blog Lead Editor Michael Abehsera curated a selection of designs that each finds creative ways to retain users.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Tue, 27 Dec 2016 12:21:16 -0500https://www.toptal.com/designers/mobile/retain-users-mobile-app-onboarding-inspirations
retain-users-mobile-app-onboarding-inspirationsMICHAEL ABEHSERA, DESIGN BLOG EDITOR @ TOPTALA Node.js Guide to Actually Doing Integration TestsYour software isn’t fully tested until you write integration tests for it. While unit tests help ensure that functions are properly written, integration tests help ensure that the system is working properly as a whole.
In this article, Toptal Software Engineer Luka Blažecki uses Node.js to explain why integration testing is important for every development platform and how to write clean, composable integration tests.Tue, 27 Dec 2016 12:16:00 -0500https://www.toptal.com/nodejs/nodejs-guide-integration-tests
nodejs-guide-integration-testsLUKA BLAŽECKI, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Ultimate Guide to Building a WordPress PluginWordPress plugins can be both a blessing and a curse. With more than 45,000 plugins available in its official repository, WordPress users can customize their website to their heart’s content. However, not all plugins follow the standards necessary to keep the platform performant and secure while also delivering a solid user experience.
In this tutorial, Toptal Software Engineer Ratko Solaja shows us how to build a robust WordPress plugin, following all the necessary best practices.Wed, 21 Dec 2016 10:39:03 -0500https://www.toptal.com/wordpress/ultimate-guide-building-wordpress-plugin
ultimate-guide-building-wordpress-pluginRATKO SOLAJA, FREELANCE SOFTWARE ENGINEER @ TOPTALConvert Visitors With These Landing Page InspirationsCheck out a collection of landing page design inspirations created by different designers from around the world. Toptal Technical Blog Editor Kent Mundle curated a selection of designs that each finds creative ways to convert visitors into leads.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 19 Dec 2016 09:46:48 -0500https://www.toptal.com/designers/web/landing-page-inspirations
landing-page-inspirationsKENT MUNDLE, DESIGN BLOG EDITOR @ TOPTALHow to Make an Android and iOS App in C# on a MacIn the past few years, Microsoft has pulled a few aces from up its sleeve. Yes, they messed up Skype, failed with smartphones, and almost succeeded with tablets. But, they did some really amazing things as well.
Relinquishing their closed empire approach, they open-sourced .NET, joined the Linux Foundation, released SQL Server for Linux, and created this great new tool called Visual Studio for Mac.
In this post, Head of Open Source Demir Selmanovic details how to make an Android and iOS app in C# on your Mac.
Fri, 16 Dec 2016 10:28:19 -0500https://www.toptal.com/c-sharp/how-to-make-an-android-and-ios-app-in-c-on-a-mac
how-to-make-an-android-and-ios-app-in-c-on-a-macDEMIR SELMANOVIC, HEAD OF OPEN SOURCE @ TOPTALThe Super Simple Guide to IconographyWe often hear that an image is worth a thousand words. Well, this applies very much to icons, which replace long sentences and words to optimize visual space, usability, and aesthetic.
In this article, Toptal Designer Tidjane Tall shows us how to create 10 custom icons in less than 10 seconds each (we promise). Knowing how to design your own icons can go a long way, so learn how to craft a set of simple and effective icons to upgrade your skillset.Thu, 15 Dec 2016 12:33:26 -0500https://www.toptal.com/designers/ui/the-super-simple-guide-to-iconography
the-super-simple-guide-to-iconographyTIDJANE TALL, FREELANCE DESIGNER @ TOPTALThe Definitive Guide to NoSQL DatabasesLimited SQL scalability has prompted the industry to develop and deploy a number of NoSQL database management systems, with a focus on performance, reliability, and consistency. The trend was driven by proprietary NoSQL databases developed by Google and Amazon. Eventually, open-source systems like MongoDB, Cassandra, and Hypertable brought NoSQL within reach of everyone.
In this post, Toptal Software Engineer Mohamad Altarade dives into some of them and explains why NoSQL will probably be with us for years to come.Thu, 15 Dec 2016 11:00:10 -0500https://www.toptal.com/database/the-definitive-guide-to-nosql-databases
the-definitive-guide-to-nosql-databasesMOHAMMAD ALTARADE, SOFTWARE ENGINEER @ TOPTALTaking IKEA Out of Its Box and Redesigning It for 1.6B UsersAlthough IKEA is one of the world's most well-known retailers, its online presence doesn't reflect the same success. Too many users find that the brand's online presence is cluttered, difficult to navigate, and doesn't reflect a more modern lifestyle.
In this article, Toptal Lead Design Blog Editor Michael Abehsera leads a redesign of IKEA's online presence, exploring how the user experience can be overhauled to fix some of its most pressing issues.Wed, 14 Dec 2016 12:26:08 -0500https://www.toptal.com/designers/web/redesigning-ikea
redesigning-ikeaMICHAEL ABEHSERA, DESIGN BLOG EDITOR @ TOPTALThe Advanced Guide to Optimizing WordPress PerformanceWordPress, one of the most popular publishing platforms, has stood the test of time and now powers a significant portion of the web. Sadly, its reputation is plagued by claims of poor performance and complexity with scaling. However, the root causes of such performance issues are often bad code and poorly implemented plugins and themes.
In this post, Toptal Software Engineer Martín Di Felice shares tips and tricks for WordPress developers who want to build better plugins and themes and destroy the notion that WordPress is a slow platform.Mon, 12 Dec 2016 13:06:02 -0500https://www.toptal.com/wordpress/guide-optimizing-wordpress-performance
guide-optimizing-wordpress-performanceMARTÍN DI FELICE, FREELANCE SOFTWARE ENGINEER @ TOPTALUpgrade Your Analytics With These Dashboard Design InspirationsCheck out a collection of analytics dashboard design inspirations created by different designers from around the world. Toptal Designer Santiago Baigorria curated a selection of designs that each offers insightful analyses.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 12 Dec 2016 09:36:19 -0500https://www.toptal.com/designers/ui/upgrade-analytics-dashboard-design-inspirations
upgrade-analytics-dashboard-design-inspirationsSANTIAGO BAIGORRIA, FREELANCE DESIGNER @ TOPTALBuild Sleek Rails Components With Plain Old Ruby ObjectsYour website is gaining traction, and you are growing rapidly. Ruby/Rails is your programming language of choice. Your team is bigger and you’ve given up on “fat models, skinny controllers” as a design style for your Rails apps. However, you still don’t want to abandon using Rails? No problem.
In this article, Toptal Software Engineer Eqbal Quran explains how you can decouple and isolate your Rails components using nothing Plain Old Ruby Objects. Ruby objects and abstractions can decouple concerns, simplify testing, and help you produce clean, maintainable code.Fri, 09 Dec 2016 09:42:18 -0500https://www.toptal.com/ruby-on-rails/decoupling-rails-components
decoupling-rails-componentsEQBAL QURAN, FREELANCE SOFTWARE ENGINEER @ TOPTALUse Magento If You're Serious About eCommerceYou've heard that Magento is the eCommerce platform to use if you're serious about your business -- and you're serious about your business -- so you've decided on Magento. But do you know what you're getting into?
In this post, Toptal Software Engineer Andrew Hughes walks us through the difference between WordPress WooCommerce and Magento. While Magento is the expert’s eCommerce platform of choice, it’s not always the right solution, depending on your client.Wed, 07 Dec 2016 11:37:57 -0500https://www.toptal.com/magento/magento-ecommerce-for-experts
magento-ecommerce-for-expertsANDREW HUGHES, SOFTWARE ENGINEER @ TOPTALDon't Underestimate the Power of Your Brand StoryA brand story is a powerful tool, but trial-and-error is required to use it well. If persistent, you’ll develop a unique voice, and your work will be infused with unexpected strands of meaning and purpose that thrill clients and the people they’re trying to reach.
In this article, Toptal Designer Micah Bowers walks us through one of his own branding projects to show us how to develop an effective brand story. Most of us might know a good story when we see one, but how do we write an engaging one ourselves?Wed, 07 Dec 2016 09:27:15 -0500https://www.toptal.com/designers/brand/power-of-your-brand-story
power-of-your-brand-storyMICAH BOWERS, FREELANCE DESIGNER @ TOPTALA Data Engineer's Guide To Non-Traditional Data StoragesWith the rise of big data and data science, storage and retrieval have become a critical pipeline component for data use and analysis. Recently, new data storage technologies have emerged. But the question is: Which one should you choose? Which one is best suited for data engineering?
In this article, Toptal Data Scientist Ken Hu compares three prominent storage technologies within the context of data engineering.Tue, 06 Dec 2016 11:35:37 -0500https://www.toptal.com/data-science/data-engineering-guide-to-storages
data-engineering-guide-to-storagesKEN HU, DATA SCIENTIST @ TOPTALWhat Google and Adobe Can Teach Us About Feature CreepMost designers know that feature creep is a big time problem, but knowing is only half the battle. How do we stop feature creep from smothering our projects?
In this article, Toptal Designer Luciano Vizza guides us through the steps to recognize and dispel feature creep in your next project. One extra feature might not sink the ship. But, it doesn't take long for one feature to become 20 features, and before you know it, Captain, you are going down with the ship.Tue, 06 Dec 2016 10:39:32 -0500https://www.toptal.com/designers/ux/teach-us-about-feature-creep
teach-us-about-feature-creepLUCIANO VIZZA, FREELANCE DESIGNER @ TOPTALAn Introduction to Protocol-oriented Programming in SwiftMost modern programming languages, in the hopes of enhanced maintainability and reusability of code, offer some constructs that help the developer keep the definition of behavior and its implementation separate.
Swift takes the idea of interfaces a step further with protocols. With protocols and protocol extensions, Swift allows developers to enforce elaborate conformity rules without compromising the expressiveness of the language.
In this article, Toptal Software Engineer Alexander Gaidukov explores Swift protocols and how protocol-oriented programming can improve the maintainability and reusability of your code.Mon, 05 Dec 2016 13:27:44 -0500https://www.toptal.com/swift/introduction-protocol-oriented-programming-swift
introduction-protocol-oriented-programming-swiftALEXANDER GAIDUKOV, FREELANCE SOFTWARE ENGINEER @ TOPTALTurn Error Into Opportunity With These 404 Page InspirationsCheck out a collection of 404 page design inspirations created by different designers from around the world. Toptal Designer Jônatas Vieira curated a selection of designs that offer a unique solution.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 05 Dec 2016 10:14:22 -0500https://www.toptal.com/designers/ui/404-error-page-inspirations
404-error-page-inspirationsJÔNATAS VIEIRA, FREELANCE DESIGNER @ TOPTALThe Zen of devRantLet’s face it: Sometimes you just need to rant. Fortunately, there’s an app for that. It’s called devRant, and it’s the place for developers to vent about clients from hell, non-technical friends and family, and clueless recruiters.
In this roundup, devRant Co-Founder David Fox shares his favorite collection of rants since launching. Some will make you laugh. Others will make you laugh so hard you cry. And just about all of them will make you empathize with the author. Fri, 02 Dec 2016 08:09:38 -0500https://www.toptal.com/software/the-zen-of-devrant
the-zen-of-devrantDAVID FOX, CO-FOUNDER AND HEAD OF ENGINEERING @ DEVRANTThe Complete Guide to Cross Cultural DesignDesigning across cultural boundaries has broader implications and more challenges than Google Translate can solve. Designers must consider not just language differences, but also cultural tendencies, values, and taboos.
In this article, Toptal designer Jônatas Vieira gives us the tools to navigate cultural boundaries and shows us one of his own projects that taught him the value of cross-cultural design.Thu, 01 Dec 2016 11:40:47 -0500https://www.toptal.com/designers/ux/guide-to-cross-cultural-design
guide-to-cross-cultural-designJÔNATAS VIEIRA, FREELANCE DESIGNER @ TOPTALDesign for Reality, Not GloryDesigners too often work for their ego and choose to redesign the next billion-user start-up to boost their career, rather than doing something that will really help them grow. We receive no substantial criticism when publishing portfolio work online, but when we design for reality we put ourselves in a position to learn.
In this article, Toptal Lead Blog Design Editor Michael Abehsera shows us how to kill our egos, design for the small and local, and to always be students. Tue, 29 Nov 2016 12:38:18 -0500https://www.toptal.com/designers/ux/design-for-reality-not-glory
design-for-reality-not-gloryMICHAEL ABEHSERA, LEAD DESIGN BLOG EDITOR @ TOPTALTo Designers With Love (A Letter From a Front-end Developer)If you’re a veteran frontender, you’ve probably had some not-so-great experiences with designers, and chances are some designers have had an equally bad experience working with you. How can you make sure you get exactly what you need from your designer, without placing an undue burden on them?
It’s a tall order, but in this article Freelance Software Engineer Vedran Aberle Tokic outlines and addresses a number of potential issues that may become roadblocks for your execution. Implementing these suggestions may result in overhead for designers, but they can save enormous amounts of time and headache elsewhere.Tue, 29 Nov 2016 11:28:09 -0500https://www.toptal.com/front-end/to-designers-from-a-front-end-developer
to-designers-from-a-front-end-developerVEDRAN ABERLE TOKIĆ, FREELANCE SOFTWARE ENGINEER @ TOPTALMigrate Legacy Data Without Screwing It UpNobody wants to leave valuable customer data behind. Unfortunately, though, the hardest part of data migration to a complex CRM system, such as Salesforce, is the handling of legacy data.
In this article, Toptal Software Engineer Marian Paul provides 10 tips for successful legacy data migration to Salesforce.Mon, 28 Nov 2016 12:57:49 -0500https://www.toptal.com/salesforce/how-to-successfully-migrate-legacy-data
how-to-successfully-migrate-legacy-dataMARIAN PAUL, SOFTWARE ENGINEER @ TOPTALDelight Users at Checkout With These Payment Page InspirationsCheck out a collection of payment design inspirations created by different designers from around the world. Toptal Technical Editor Kent Mundle curated a selection of designs that each offer unique UI solutions to the popular platform.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Mon, 28 Nov 2016 11:34:13 -0500https://www.toptal.com/designers/ux/payment-page-inspirations
payment-page-inspirationsKENT MUNDLE, TECHNICAL EDITOR @ TOPTALThe End of Sandboxes: Changing the Unit of DesignMost people know that the world of digital products, and how we design them, is changing every day. The question that we must ask then is: how will this affect the role of designers in the future?
In this article, Toptal designer Bree Chapin gives us an overview of user interactions today and how they are changing for tomorrow. Keep reading to learn how designers have to pivot and redirect their foci to create products and services that can adapt for the future. Wed, 23 Nov 2016 11:08:28 -0500https://www.toptal.com/designers/ui/changing-the-unit-of-design
changing-the-unit-of-designBREE CHAPIN, FREELANCE DESIGNER @ TOPTALHow to Isolate Client-Server Interaction Logic in iOS ApplicationsClient-server interactions play a vital role in most modern mobile applications. By leveraging available backend services these mobile applications can provide some really amazing functionalities. However, as mobile applications grow complex it becomes essential to keep the networking module as clean and maintainable as possible - separated from the rest of the application logic.
In this article, Toptal freelance software engineer Alexander Gaidukov walks us through the design of a simple networking module that allows your iOS application to interact with RESTful APIs.Tue, 22 Nov 2016 11:37:07 -0500https://www.toptal.com/ios/isolate-client-server-interaction-logic-ios
isolate-client-server-interaction-logic-iosALEXANDER GAIDUKOV, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Definitive Guide to Building Apps For ChildrenRecent studies have found that in the U.S., 75 percent of children younger than eight have access to a smartphone or tablet, as do 36 percent of kids under the age of one. Although video games and apps have always carried the stigma of being detrimental to youth development, science has proven that some products can actually enhance a child's cognitive strength. This presents a great opportunity and responsibility to digital designers and developers to influence tomorrow's generations in a positive way.
In this guide, Toptal Designer Tanya Unger breaks down the differences and similarities between designing for kids and designing for adults. Then she presents a proven framework and offers some additional tips.Thu, 17 Nov 2016 11:06:25 -0500https://www.toptal.com/designers/interactive/guide-to-apps-for-children
guide-to-apps-for-childrenTANYA UNGER, FREELANCE DESIGNER @ TOPTALAn HDFS Tutorial for Data Analysts Stuck With Relational DatabasesThe Hadoop Distributed File System (HDFS) is a scalable, open source solution for storing and processing large volumes of data. With its built-in replication and resilience to disk failures, HDFS is an ideal system for storing and processing data for analytics.
In this step-by-step tutorial, Toptal Database Developer Dallas H. Snider details how to migrate existing data from a PostgreSQL database into the more efficient HDFS.Wed, 16 Nov 2016 08:57:13 -0500https://www.toptal.com/database/hdfs-tutorial-data-migration-from-postgresql
hdfs-tutorial-data-migration-from-postgresqlDALLAS H. SNIDER, DATABASE DEVELOPER @ TOPTALLet’s Redesign Facebook: 10 Inspirations to Get You StartedCheck out a collection of new Facebook redesigns created by different designers from around the world. Toptal Technical Editor Kent Mundle curated a selection of designs that each offer unique UI solutions to the popular platform.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Tue, 15 Nov 2016 09:39:50 -0500https://www.toptal.com/designers/ui/design-facebook-10-inspirations-to-get-you-started
design-facebook-10-inspirations-to-get-you-startedKENT MUNDLE, TECHNICAL EDITOR @ TOPTALGet Inspired With These Data Visualisations Check out a collection of intuitive data visualisations created by different designers from around the world. Toptal Technical Editor Kent Mundle curated a selection of designs that each offer unique UI solutions to data.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Wed, 09 Nov 2016 11:55:05 -0500https://www.toptal.com/designers/ui/get-inspired-with-these-data-visualisations-
get-inspired-with-these-data-visualisations-KENT MUNDLE, TOPTAL TECHNICAL EDITOR @ TOPTALA Comprehensive Introduction To Your Genome With the SciPy StackGenome data is one of the most widely analyzed datasets in the realm of Bioinformatics. The SciPy stack offers a suite of popular Python packages designed for numerical computing, data transformation, analysis and visualization, which is ideal for many bioinformatic analysis needs.
In this tutorial, Toptal Software Engineer Zhuyi Xue walks us through some of the capabilities of the SciPy stack. He also answers some interesting questions about the human genome, including: How much of the genome is incomplete? How long is a typical gene?Wed, 09 Nov 2016 09:26:16 -0500https://www.toptal.com/python/comprehensive-introduction-your-genome-scipy
comprehensive-introduction-your-genome-scipyZHUYI XUE, FREELANCE SOFTWARE ENGINEER @ TOPTALWrite or Fade Away as a DesignerAs freelance designers, we tend to search for any way to leverage our careers to get more and better work. However, with so many opinions online it can be difficult for designers to know how to invest their time. Writing is one of the highest ROI skills a designer can develop.
In this article, Toptal Lead Design Editor Michael Abehsera talks with some of the best designers around the world who write to leverage their careers. Keep reading to learn how you too can get writing.Tue, 08 Nov 2016 11:06:13 -0500https://www.toptal.com/designers/freelance/write-or-fade-away-as-a-designer
write-or-fade-away-as-a-designerMICHAEL ABEHSERA, LEAD DESIGN EDITOR @ TOPTALThe Mistakes Most Swift Developers Don't Know They're MakingSwift is the new programming language created to be a modern replacement for Objective-C in iOS and OS X application development. In general, a skilled Swift developer is usually someone who is already experienced with Objective-C, and that, among other things, might lead them to write Swift code using Objective-C best practices, which can cause some bad mistakes.
In this article, Toptal Freelance Software Engineer Nilson Souto outlines the most common mistakes Swift developers should be aware of.Fri, 04 Nov 2016 11:54:35 -0400https://www.toptal.com/swift/top-swift-development-mistakes
top-swift-development-mistakesNILSON SOUTO, FREELANCE SOFTWARE ENGINEER @ TOPTALThese Design Inspirations Can Change How We Read The NewsCheck out a collection of intuitive news UIs created by different designers from around the world. Toptal Technical Editor Kent Mundle curated a selection of designs that each offer unique UI solutions to news interfaces.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible.Thu, 03 Nov 2016 12:06:29 -0400https://www.toptal.com/designers/ui/these-designs-can-change-how-we-read-the-news
these-designs-can-change-how-we-read-the-newsKENT MUNDLE, TECHNICAL EDITOR @ TOPTALAn Overly Thorough Guide To Underused Android LibrariesAny experienced developer will tell you that their best code isn’t code they wrote. It’s code they took from someone else's work. Many of the problems we encounter have already been solved—and the remedies packaged into libraries available to anyone. Why reinvent the wheel when free wheels are everywhere?
In this guide, Senior Android Engineer Gilad Haimov will take you on a quick tour of some the most powerful Android libraries out there. Robust as a hammer, faster than a drill, and more precise than any scalpel; no Android developer should leave home without these must-have tools.Mon, 31 Oct 2016 13:48:37 -0400https://www.toptal.com/android/guide-to-underused-android-libraries
guide-to-underused-android-librariesGILAD HAIMOV, SENIOR ANDROID DEVELOPER @ TOPTALThe Art of Stealing: How to Become a Master DesignerMany people believe that designers are unicorns, gifted or special in some way. They're not. Truth is, anyone can become a great designer if they're willing to put in years of hard work, experimentation, and failure. All it takes is a simple mindset shift. Instead of looking at other designers' work with envy, think of it as the key to your success.
In fact, interactive design has a lot in common with the open source software community: You can master it by stealing and copying from the best of the best. Start by getting to know Dribbble's rebound feature.Fri, 28 Oct 2016 12:32:39 -0400https://www.toptal.com/designers/ui/the-art-of-stealing-how-to-become-a-master-designer
the-art-of-stealing-how-to-become-a-master-designerMICHAEL ABEHSERA, DESIGN BLOG EDITOR @ TOPTALAndroid 7.0 for Developers: New Features, Performance Upgrades & Other Stuff You Won’t Care AboutGoogle formally announced Android 7.0 a few weeks ago, but as usual, you'll have to wait for it. Thanks to the Android update model, most users won’t get their Android 7.0 over-the-air (OTA) updates for months. However, this does not mean developers can afford to ignore Android Nougat.
In this article, Toptal Technical Editor Nermin Hajdarbegovic takes a closer look at Android 7.0, outlining new features and changes. While Android 7.0 is by no means revolutionary, the introduction of a new graphics API, a new JIT compiler, and a range of UI and performance tweaks will undoubtedly unlock more potential and generate a few new possibilities.Thu, 20 Oct 2016 14:18:26 -0400https://www.toptal.com/android/android-7-0-for-developers
android-7-0-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALThe 10 Most Common Mistakes iOS Developers Don't Know They're MakingApple's iOS is the second-largest mobile operating system in the world. It also has a very high adoption rate, with more than 85 percent of users on the latest version. These highly engaged users have high expectations: If your app has bugs, you'll hear about it. And once the one-star reviews start rolling in, it's hard to recover.
In this article, Toptal Software Engineer Nikita Tuk outlines the 10 most common mistakes that developers make—and how to avoid them.Fri, 14 Oct 2016 14:34:05 -0400https://www.toptal.com/ios/top-ios-development-mistakes
top-ios-development-mistakesNIKITA TUK, SOFTWARE ENGINEER @ TOPTALWebpack or Browserify & Gulp: Which Is Better?Gone are the days where front-end developers for web applications could use ad-hoc JavaScript with jQuery and such all in a single JavaScript file. Modern web applications require more effort from the developer to adopt an overall architecture and development process. Building such front-end applications relies on lots of external dependencies and modular source code, and these elements necessitate automation to save developers time and reduce the chances of mistakes.
In this article, Toptal Freelance Software Engineer Eric Grosse shows us how various combinations of the popular tools Webpack, Browserify, Gulp and Npm can benefit us by enhancing our development environment and allowing us to focus on writing the app itself.Tue, 11 Oct 2016 15:41:52 -0400https://www.toptal.com/front-end/webpack-browserify-gulp-which-is-better
webpack-browserify-gulp-which-is-betterERIC GROSSE, FREELANCE SOFTWARE ENGINEER @ TOPTALHow To Improve ASP.NET App Performance In Web Farm With CachingCaching is a powerful technique for increasing performance, but the whole idea behind caching works only as long as the result we cached remains valid. And here we get to the hard part of the problem: How do we determine when a cached item has become invalid and needs to be recreated?
In this article, Toptal Freelance Software Engineer Daniel Ivanov provides an ASP.NET-based solution to replace invalid cached items and assure high throughput and performance of web applications designed to handle a high load.Thu, 06 Oct 2016 11:46:07 -0400https://www.toptal.com/dot-net/caching-in-a-distributed-web-farm-using-asp-net
caching-in-a-distributed-web-farm-using-asp-netDANIEL IVANOV, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Definitive Guide to DateTime ManipulationIn the realm of software development, time and date manipulation is considered by many to be a difficult task. Complicated time zone rules, leap seconds, differences in locale-specific formatting, etc., force us to immediately resort to popular time and date manipulation libraries. We often use these libraries without thinking about how exactly they work, which can lead to all sorts of obscure bugs in our software.
In this article, Toptal Freelance Software Engineer Punit Jajodia gives us an in-depth introduction to some concepts and best practices to avoid a few of the obvious issues related to changing the time and date in our applications.
Mon, 03 Oct 2016 14:32:53 -0400https://www.toptal.com/software/definitive-guide-to-datetime-manipulation
definitive-guide-to-datetime-manipulationPUNIT JAJODIA, FREELANCE SOFTWARE ENGINEER @ TOPTALVehicle UIs of the Future Are Going to Be AmazingCheck out a curated collection of beautiful and futuristic vehicle UIs created by different designers from around the world.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible. Thu, 29 Sep 2016 14:01:07 -0400https://www.toptal.com/designers/interactive/amazing-vehicle-ui
amazing-vehicle-uiMUWUSO MKOCHI, FREELANCE DESIGNER @ TOPTALEverything You Need to Know about UX SketchingUX sketching is a crucial, yet often overlooked, aspect of user-experience design. Sketching is a very efficient way of communicating design ideas while allowing designers to try out a multitude of options and iterate them before settling on one.
In this post, Toptal Freelance Designer Nick Vyhouski explains UX sketching step by step and outlines a range of tips and techniques used by leading designers.Tue, 27 Sep 2016 13:45:26 -0400https://www.toptal.com/designers/ux/guide-to-ux-sketching
guide-to-ux-sketchingNICK VYHOUSKI, FREELANCE DESIGNER @ TOPTALHow Much Coding Should Designers Know?Much of the digital design community is locked in debate over whether or not designers should code. Some are in favor of seeking out the unicorns who can design and code, while others claim they don't exist, or just get in the way.
In this article, Toptal freelance designer Jônatas Vieira offers his own firsthand perspective on this issue. Can learning how to code elevate your career to the next level? Or would such skills go unused?Thu, 22 Sep 2016 12:17:34 -0400https://www.toptal.com/designers/digital/designers-coding
designers-codingJÔNATAS VIEIRA, FREELANCE DESIGNER @ TOPTALHow Hibernate Almost Ruined My CareerAre you building the next big thing? Planning to become the next Facebook or Google? Are you at the point of making fundamental decisions that will stay with you for the entire project? There is a good chance that you will pick a robust language like Java. If so, you want to pick the best object-oriented abstraction of your flexible data model because you don’t want to deal with plain SQL. You want to support all kinds of data and ideally, support all kind of databases. If so, there’s is only one right choice for you: Hibernate.
Continue reading the story written by Freelance Software Engineer Grzegorz Gajos, about one of these imaginary but entirely possible scenarios.Mon, 19 Sep 2016 14:36:17 -0400https://www.toptal.com/java/how-hibernate-ruined-my-career
how-hibernate-ruined-my-careerGRZEGORZ GAJOS, FREELANCE SOFTWARE ENGINEER @ TOPTALHow Sequel and Sinatra Solve Ruby’s API ProblemThe rise of the web and mobile applications has led to an increased need for back-end API services. Ruby on Rails' philosophy seemingly makes it the ideal framework for creating back-end APIs. However, using Rails only for the API is overkill.
In this article, Freelance Software Engineer Boško Ivanišević explores alternatives to Rails and introduces us to two very mature and powerful gems, Sinatra and Sequel, which in combination provide powerful tools for creating server-side APIs.Tue, 13 Sep 2016 15:16:15 -0400https://www.toptal.com/ruby/api-with-sinatra-and-sequel-ruby-tutorial
api-with-sinatra-and-sequel-ruby-tutorialBOŠKO IVANIŠEVIĆ, FREELANCE SOFTWARE ENGINEER @ TOPTALThe 10 Most Common Mistakes That WordPress Developers MakeWordPress is easily the most powerful open source blogging and content management system available online today. As WordPress is easy enough to set up and has a user-friendly approach, many developers are often underestimating it and so make mistakes in development.
In this article, Toptal Freelance Software Engineer Andrew Schultz outlines the ten most common mistakes that WordPress developers should be aware of for future projects.Thu, 08 Sep 2016 10:09:30 -0400https://www.toptal.com/wordpress/top-wordpress-development-mistakes
top-wordpress-development-mistakesANDREW SCHULTZ, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Six Commandments of Good Code: Write Code that Stands the Test of TimeHow do you define good code? Is it 100% test coverage, or is it backwards compatibility with decade-old hardware? We may not be able to reach an end to this debate yet, but good software always seems to conform to a few certain qualities of code.
In this article, Toptal Freelance Software Engineer Zachary Goldberg walks us through six simple ideas that can help you make better, more maintainable software.Tue, 06 Sep 2016 11:58:29 -0400https://www.toptal.com/software/six-commandments-of-good-code
six-commandments-of-good-codeZACHARY GOLDBERG, FREELANCE SOFTWARE ENGINEER @ TOPTALPresenting Design Work: The Right WayDesigners spend much of their careers developing the ability to beautifully communicate the intentions of their products. Yet, some designers fail to direct these same skills towards the communication of their own work. The ability to present your design work is fundamental for any designer, as it is often the first step to landing a job with any new client or agency.
In this article, Toptal Director of Design Danielle Reid and Toptal Design Blog Editor Kent Mundle discuss what designers can do to present their work in the most effective ways. Give the products that you make some justice, and use these tips to effectively present your portfolio.Mon, 05 Sep 2016 13:12:25 -0400https://www.toptal.com/designers/digital/design-talk-presenting-portfolio
design-talk-presenting-portfolioDANIELLE REID, DIRECTOR OF DESIGN @ TOPTALMeet RxJava: The Missing Reactive Programming Library for AndroidImplementing applications that deal with complex concurrent behavior has always been a challenging aspect of programming. Various paradigms exist that promise a solution to this problem in different ways. RxJava is a Java library that enables Functional Reactive Programming in Android development. It raises the level of abstraction around threading in order to simplify the implementation of complex concurrent behavior.
In this article, Toptal Freelance Software Engineer Christopher Arriola gives us a detailed walkthrough of RxJava and how it fits into the realm of Android development.Thu, 01 Sep 2016 13:32:44 -0400https://www.toptal.com/android/functional-reactive-android-rxjava
functional-reactive-android-rxjavaCHRISTOPHER ARRIOLA, FREELANCE SOFTWARE ENGINEER @ TOPTALCelebrating 25 Years of Linux Kernel DevelopmentLinux is now 25 years old, but it’s no hipster. It’s not chasing around Pokemon, and it’s not moving back in with its parents due to crippling student debt. In fact, Linux is still growing and evolving, but the core ideas of the Linux State of Mind remain the same.
In this article, Toptal Technical Editor Nermin Hajdarbegovic takes a look at the history of Linux development, the state of Linux today, and what’s next for the world’s most popular open-source operating system.Wed, 31 Aug 2016 13:07:58 -0400https://www.toptal.com/linux/celebrating-25-years-of-linux
celebrating-25-years-of-linuxNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALTen Kotlin Features To Boost Android DevelopmentKotlin is a new, expressive general-purpose programming language powered by the same virtual machine technology that powers Java. Since Kotlin compiles to the JVM bytecode, it can be used side-by-side with Java, and it does not come with a performance overhead.
In this article, Toptal Freelance Software Engineer Ivan Kušt gives us a walkthrough of ten major features of Kotlin that help avoid boilerplate code and, more importantly, save time.Tue, 30 Aug 2016 13:40:55 -0400https://www.toptal.com/android/kotlin-boost-android-development
kotlin-boost-android-developmentIVAN KUŠT, FREELANCE SOFTWARE ENGINEER @ TOPTALAmazing Travel UIsCheck out a curated collection of beautiful and futuristic travel UIs created by different designers from around the world.
Some of the designs are captured from live products, some are still in development, and some are purely concepts designed to push the bounds of what is even considered possible. Thu, 25 Aug 2016 10:35:38 -0400https://www.toptal.com/designers/ui/amazing-travel-uis
amazing-travel-uisDANIELLE REID, FREELANCE DESIGNER @ TOPTALJava in the Cloud: Continuous Integration Setup TutorialMore than two decades ago, Java shook the world with its "Write once, run anywhere“ slogan. Today, Java developers have at their disposal a whole set of tools, such as Spring Boot, Docker, Cloud, Amazon Web Services, and Continuous Delivery, to take development and delivery to a whole new universe.
In this article, Toptal Freelance Software Engineer Matko Šuflaj presents all these technologies and guides us through a step-by-step tutorial on how to build a small microservice and prepare it for continuous integration in the cloud.Wed, 24 Aug 2016 10:52:08 -0400https://www.toptal.com/java/java-continuous-integration-setup-tutorial
java-continuous-integration-setup-tutorialMATKO ŠUFLAJ, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Duel: React Native vs. CordovaAs a result of smartphones and mobile applications becoming so popular, web developers have been looking for ways to create mobile applications using JavaScript. This increased demand has led to the development of many JavaScript frameworks capable of running native-like applications on mobile devices.
In this article, Toptal Freelance Software Engineer Johannes Stein compares the current two most popular choices for mobile-oriented JavaScript frameworks, Cordova and React Native. Examining their advantages and pitfalls, he dives into details of each and compares them across different disciplines.Tue, 16 Aug 2016 11:19:54 -0400https://www.toptal.com/mobile/comparing-react-native-to-cordova
comparing-react-native-to-cordovaJOHANNES STEIN, FREELANCE SOFTWARE ENGINEER @ TOPTALSpectacular Crowdfunding Fails And Their Impact On EntrepreneurshipWhat's the biggest problem with crowdfunding today? Everyone wants a sweet slice of the crowdfunded pie, but nobody wants a single crumb of responsibility. As a result, crowdfunding platforms, the tech press, and the geek public have picked up a track record filled with spectacular crowdfunding failures.
In this article, Toptal Technical Editor Nermin Hajdarbegovic takes a look at the state of crowdfunding today and explains why the industry needs to do more to clean up its act and get rid of bad apples in crowdfunding.Fri, 12 Aug 2016 12:34:23 -0400https://www.toptal.com/software/spectacular-crowdfunding-fails
spectacular-crowdfunding-failsNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALWhy Should Java Developers Give Grails a Chance?Java may have stood the test of time, but it can still be a source of great frustration among many web developers. Dealing with its verbosity and infrastructure overhead, for example, can take hours, even for the most basic needs.
In this article, Toptal Freelance Software Engineer Gregor Ambrozic shows us how Grails and its many appealing features can be a viable alternative to traditional Java web applications frameworks.
Wed, 10 Aug 2016 15:16:50 -0400https://www.toptal.com/grails/should-java-developers-give-grails-chance
should-java-developers-give-grails-chanceGREGOR AMBROZIC, FREELANCE SOFTWARE ENGINEER @ TOPTALUsability for Conversion: Stop Using Fads, Start Using DataThere are many design tips out there that claim to be universal solutions for achieving high conversion rates. However, in this article, Toptal Freelance Designer Joel Lopez suggests avoiding these trends or fads and encourages us to instead thoughtfully collect data to inform the design of our products.
Although some quick-fix design moves may achieve high conversion rates in a product's early years, they don't lend themselves to establishing long-term user trust. Joel argues that this trust is essential to keep users coming back to promote your products.Fri, 05 Aug 2016 14:52:23 -0400https://www.toptal.com/designers/web/usability-conversion-data
usability-conversion-dataJOEL LOPEZ, FREELANCE DESIGNER @ TOPTALMeet Ecto, The No-Compromise Database Wrapper For Concurrent Elixir AppsElixir, with its simple and clean syntax, makes building scalable and maintainable concurrent applications a breeze. Ecto is a database wrapper that lives up to the high expectations set by Elixir's reputation. Its domain-specific language provides a pleasant way to interact with databases and build fault-tolerant, concurrent applications in Elixir with ease.
In this article, Toptal Freelance Software Engineer Boris Barroso walks us through Ecto and its four main components: Repo, Schema, Changeset and Query.
Thu, 04 Aug 2016 12:44:38 -0400https://www.toptal.com/elixir/meet-ecto-database-wrapper-for-elixir
meet-ecto-database-wrapper-for-elixirBORIS BARROSO, FREELANCE SOFTWARE ENGINEER @ TOPTALSocial Network APIs: The Internet’s Portal to the Real WorldSocial networks are a rich source of user information. From a person’s current mood to endless streams of photos, there is by now probably a social network for each aspect of human life. From the development side, access to users' information can be an essential element in providing a truly personalized experience in any application.
In this article, Toptal Freelance Software Engineer Behsaad Ramez shows us how the APIs of some of these social networks stack against each other and how they may be leveraged to accumulate precious information about users.Mon, 01 Aug 2016 13:22:56 -0400https://www.toptal.com/api-developers/social-network-apis
social-network-apisBEHSAAD RAMEZ, FREELANCE SOFTWARE ENGINEER @ TOPTALAlternative Housing Lifestyles for Remote WorkersAn often mentioned virtue of remote work is the freedom for individuals to construct their lifestyles as they wish. However, much of contemporary society has not yet shifted to allow for the total freedom that many desire, especially when it comes to housing. Why should outdated housing standards prevent us from living in the way we want to live?
In this article, Toptal Technical Editor Kent Mundle surveys a group of housing alternatives that apply to several different types of remote workers. The digital nomad has different needs than the young professional or the working parent, and their housing options should reflect that.Wed, 27 Jul 2016 12:33:53 -0400https://www.toptal.com/designers/digital/housing-remote-work
housing-remote-workKENT MUNDLE, TOPTAL TECHNICAL EDITOR @ TOPTALWrite Tests That Matter: Tackle The Most Complex Code FirstIn today's world, code is expected to change as quickly as requirements do, and tests play an important role in making that possible. Many modern projects boast great test coverage, making them more resilient to regression issues. However, that is not true for all projects - especially some legacy projects which have little in the way of testing.
In this article, Toptal Freelance Software Engineer Andrey Shalitkin discusses two metrics, coupling and cyclomatic complexity, that are important in identifying which portions of code to include in test coverage.Tue, 26 Jul 2016 11:29:14 -0400https://www.toptal.com/software/coupling-and-cyclomatic-complexity
coupling-and-cyclomatic-complexityANDREY SHALITKIN, FREELANCE SOFTWARE ENGINEER @ TOPTALDesign In A Remote Setting: A Toptal Design TalkWithout an office manager, or shift supervisor to look over your shoulder, or set your schedule for you, design in a remote setting can be difficult for some to manage. As well, for those who use the freedom that remote work offers, how can one ensure to find a healthy balance between life, fun and of course work?
In this article, Toptal Technical Editor Kent Mundle discusses strategies for designing in a remote setting with Lubos Volkov, Toptal Lead Designer. Lubos explains the importance of good planning, a strong will, but also the ability to break the rules and get outside when the world calls you.Wed, 20 Jul 2016 11:29:32 -0400https://www.toptal.com/designers/freelance/design-remote-toptal-talk
design-remote-toptal-talkLUBOŠ VOLKOV, LEAD DESIGNER @ TOPTALHow to Build a Multitenant Application: A Hibernate TutorialIn the realm of enterprise software, especially for software provided as a service, multitenancy ensures that data is truly isolated for each client within a shared instance of software. Among its numerous benefits, multitenancy can greatly simplify release management and cut down costs.
In this article, Toptal Freelance Software Engineer André William Prade Hildinger shows us how Hibernate, a persistence framework for Java, makes implementing a multitenant Java EE application easier than it sounds.Mon, 18 Jul 2016 12:01:59 -0400https://www.toptal.com/hibernate/build-multitenant-java-hibernate
build-multitenant-java-hibernateANDRÉ WILLIAM PRADE HILDINGER, FREELANCE SOFTWARE ENGINEER @ TOPTALA New Way of Using Email for Support Apps: An AWS TutorialOf all the modern ways people talk to each other, email seems to have stood the test of time and is arguably still one of the most effective and widely used means of communication. Thus, being able to programmatically send and receive emails can open new dimensions to a user's experience of software that powers human communication.
In this article, Toptal Freelance Software Engineer Francis Altomare shows us how he leveraged various Amazon Web Services technologies to build a simple communication application in which email itself is an important interface.Fri, 15 Jul 2016 11:38:24 -0400https://www.toptal.com/aws/new-way-email-support-app-aws
new-way-email-support-app-awsFRANCIS ALTOMARE, FREELANCE SOFTWARE ENGINEER @ TOPTALHow CrunchBase Should Be DesignedDespite the widespread use of the start-up tracker CrunchBase, Toptal Freelance Designer Andrew Graunke believes that its site could use a redesign. Can the redesign transcend an aesthetic makeover, and improve user and business goals as well?
In this article, Andrew walks us through his thorough redesign and reorganization of the CrunchBase website. His process includes wireframes, design reviews, and a usability test.Thu, 14 Jul 2016 10:34:59 -0400https://www.toptal.com/designers/web/crunchbase-design-review
crunchbase-design-reviewANDREW GRAUNKE, FREELANCE DESIGNER @ TOPTALBoost Your Productivity With Clever Travel HardwareYou can buy capri pants, cheap flip-flops, and boonie hats anywhere on vacation, but beachside shops usually don’t carry quality hardware that can help you be more productive on the road or save you time and money for more enjoyable activities.
In this post, Toptal Technical Editor Nermin Hajdarbegovic takes a look at inexpensive and readily available travel hardware designed to boost your productivity on the road. You can put most of these gadgets on your summer shopping list without making a dent in your travel budget.Wed, 13 Jul 2016 10:41:47 -0400https://www.toptal.com/freelance/productivity-travel-hardware
productivity-travel-hardwareNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALHunting Down Memory Issues In Ruby: A Definitive GuideMemory issues in programs can be quite frustrating whether you’re the user or the developer attempting to solve the problem. In Ruby, the garbage collector plays a vital role in managing your program's memory so that you can focus on other important things. However, it is often possible to overwhelm the garbage collector or end up with sneaky resources that cannot be freed, which can lead to all sorts of memory issues.
In this article, Toptal Freelance Software Engineer Bruz Marzolf explains why certain memory issues arise in Ruby applications and how to tackle them easily.Tue, 05 Jul 2016 11:58:19 -0400https://www.toptal.com/ruby/hunting-ruby-memory-issues
hunting-ruby-memory-issuesBRUZ MARZOLF, FREELANCE SOFTWARE ENGINEER @ TOPTALIntroduction to Kotlin: Android Programming For HumansJava has been a dominant programming language for ages, but modern times call for modern languages. Meet Kotlin, a modern, clear, and expressive programming language powered by the same virtual machine technology that powers Java.
In this article, Toptal Freelance Software Engineer Tomasz Czura takes us for a spin through the world of Kotlin and shows us how it can be used to make an Android application with an elegant architecture without compromising the very qualities of the code that Kotlin aims to provide.Thu, 30 Jun 2016 12:40:16 -0400https://www.toptal.com/software/kotlin-android-language
kotlin-android-languageTOMASZ CZURA, FREELANCE SOFTWARE ENGINEER @ TOPTALTips And Tools For Optimizing Android AppsThe plethora of tutorials on building Android apps may have you thinking that making a mobile app is simple. In reality, however, performance issues can be very complicated, and because performance plays a key role in making sure that your app stays on your users' list of favorite apps for a long time, every little detail must be given one's full attention.
In this article, Toptal Freelance Software Engineer Tibor Kaputa shares some tips on how you can optimize some common performance issues and identify some of the bottlenecks in your Android app.Tue, 28 Jun 2016 08:49:15 -0400https://www.toptal.com/android/android-performance-tips-tools
android-performance-tips-toolsTIBOR KAPUTA, FREELANCE SOFTWARE ENGINEER @ TOPTALTesting Your Go App: Get Started The Right WayWhen Golang first came out, there were next to no resources available about how to efficiently test your Go-written application. Even now, with plenty of guides and recommendations available, many bright-eyed developers still try to apply their Ruby or JavaScript mindset and use external frameworks to test apps written in Go.
In this article, Toptal Freelance Developer Gabriel Aszalos first explains Golang philosophy and then covers the basics of testing in Go, from table testing to JSON response assertion.Fri, 24 Jun 2016 13:26:38 -0400https://www.toptal.com/go/your-introductory-course-to-testing-with-go
your-introductory-course-to-testing-with-goGABRIEL ASZALOS, FREELANCE SOFTWARE ENGINEER @ TOPTALScaling Scala: How to Dockerize Using KubernetesAre you a Scala developer hoping to scale your application in the cloud? If so, meet Kubernetes, a cluster manager for Docker applications. Developed by Google, it's the latest in new open source tools making major waves.
In this article, Toptal Freelance Software Engineer Michele Sciabarra guides us through a step-by-step tutorial on how to take a generic Scala application and implement Kubernetes and Docker to launch multiple instances of the application.Wed, 22 Jun 2016 12:44:50 -0400https://www.toptal.com/scala/scale-your-scala-application-with-kubernetes
scale-your-scala-application-with-kubernetesMICHELE SCIABARRA, FREELANCE SOFTWARE ENGINEER @ TOPTALGulp: A Web Developer's Secret Weapon for Maximizing Site SpeedWhen dealing with web-based projects that run in the production environment, being able to build and deploy changes quickly is a top priority. However, repetitive processes such as building front-end assets, when not automated, can be prone to critical errors.
In this article, Toptal Freelance Software Engineer Anton Kanevsky shows us how Gulp can solve various challenges of build automation through simple JavaScript routines.Mon, 20 Jun 2016 12:00:52 -0400https://www.toptal.com/javascript/optimize-js-and-css-with-gulp
optimize-js-and-css-with-gulpANTON KANEVSKY, FREELANCE SOFTWARE ENGINEER @ TOPTALKeep Calm And Transition To A New Development TeamMany product owners don’t have a technical background and thus often find themselves unprepared and scrambling when it comes time to bring on a new development team. This often results in hindered progress, wasted time, and frustration for everyone involved. If this sounds like it could be you, either now or in the future, then you should be somewhat concerned.
In this blog post, Toptal Freelance Software Engineer Carlos Ramirez III will walk you through the various steps of a typical transition process in project management so you can prepare for this eventuality and make the transition as smooth as possible.Wed, 15 Jun 2016 10:34:30 -0400https://www.toptal.com/software/onboarding-a-new-development-team
onboarding-a-new-development-teamCARLOS RAMIREZ III, FREELANCE SOFTWARE ENGINEER @ TOPTALBoost Your Data Munging with RAs a language, R is strongly tied to data and is thus used mostly by statisticians and data scientists. Many who already use R for machine learning, though, are not aware that data munging can be done faster in R, meaning another tool is not required for that task.
In this article, Freelance Software Engineer Jan Gorecki explores tabular data transformations and introduces us to one of the fastest open-source data wrangling tools available.Mon, 13 Jun 2016 10:21:43 -0400https://www.toptal.com/r/boost-your-data-munging-with-r
boost-your-data-munging-with-rJAN GORECKI, FREELANCE SOFTWARE ENGINEER @ TOPTALGet Your Angular 2 On: Upgrading from 1.5"So much of what’s new and exciting about Angular 2 is its new way of thinking rather than its new architecture," says Toptal Freelance Developer Ethan James.
In this article, Ethan walks through the inner workings of a simple Angular 1.5 app and then shows us how to upgrade it to Angular 2 while giving us the necessary understanding to truly appreciate it.Fri, 10 Jun 2016 12:27:18 -0400https://www.toptal.com/angular-js/angular-2-upgrading-from-1-5
angular-2-upgrading-from-1-5ETHAN JAMES, FREELANCE SOFTWARE ENGINEER @ TOPTALWeb Audio API: Why Compose When You Can Code? Meet Web Audio API, a powerful programming interface for controlling audio on the web. Gone are the days when the web browser could rarely play a sound file correctly. With this API, you can now load sound from different sources, apply effects, create visualizations, and do much more.
In this article, Toptal Freelance Software Engineer Joaquín Aldunate shows us how to unleash our inner musician using Web Audio API with the Tone.js framework by giving us a brief overview of what this API has to offer and how it can be used to manipulate audio on the web.Thu, 09 Jun 2016 11:15:57 -0400https://www.toptal.com/web/web-audio-api-tutorial
web-audio-api-tutorialJOAQUÍN ALDUNATE, FREELANCE SOFTWARE ENGINEER @ TOPTALBidirectional Relationship Support in JSONEver tried to create a JSON data structure that includes entities with bidirectional relationships? If you have, you know that this often results in errors or exceptions being thrown.
In this article, Toptal Freelance Software Engineer Nirmel Murtic provides a robust working approach to avoiding these errors when creating JSON structures that included entities with bidirectional (i.e. circular) relationships.Wed, 08 Jun 2016 11:35:07 -0400https://www.toptal.com/javascript/bidirectional-relationship-in-json
bidirectional-relationship-in-jsonNIRMEL MURTIC, SOFTWARE ENGINEER @ TOPTALProduce DWGs Like It's 2016: Teigha For ArchitectureToday, the notion of repetitively modeling or drawing the windows, doors, and walls of standardized buildings seems archaic, so why do it? If you want to handle DWG files and ACA objects programmatically, one of the best platform options is Teigha Architecture.
In this article, Toptal Freelance Designer Alexey Abramovsky walks us through the DWG production of a small house to introduce us to the benefits of Teigha. Go from foundations to full render in this quick tutorial.Tue, 07 Jun 2016 11:52:25 -0400https://www.toptal.com/designers/css/dwgs-teigha-architecture
dwgs-teigha-architectureALEKSEY ABRAMOVSKY, FREELANCE DESIGNER @ TOPTALUX Testing For The Masses: Keep It Simple And Cost EffectiveUser Experience (UX) testing may be one of the more overlooked but ultimately necessary steps in UX design. It has to be effective and involve the most important people – your users and customers.
In this article, Toptal Freelance Designer Ruaridh Currie examines UX testing methods and processes used by designers who want to understand and employ User Centered Design (UCD) and put their UX designs to the test, preferably without burning a hole in their budget.Mon, 06 Jun 2016 11:13:36 -0400https://www.toptal.com/designers/ux/ux-testing-for-the-masses
ux-testing-for-the-massesRUARIDH CURRIE, FREELANCE DESIGNER @ TOPTALWrite Code to Rewrite Your Code: jscodeshiftHow many times have you used the find-and-replace functionality (or RegEx) across a directory to make changes to JavaScript source files? Up your refactoring game by using codemods, scripts used to rewrite other scripts.
In this article, Toptal Freelance Developer Jeremy Greer walks us through three common uses of codemods, using the toolkit “jscodeshift”.Fri, 03 Jun 2016 11:06:49 -0400https://www.toptal.com/javascript/write-code-to-rewrite-your-code
write-code-to-rewrite-your-codeJEREMY GREER, FREELANCE SOFTWARE ENGINEER @ TOPTALSharpen Your Skills: The Value of Multidisciplinary DesignAlthough the different design disciplines are often divided into separate categories, many of their associated skills transcend the limits of nomenclature. For example, the ability of an architectural designer to present abstract concepts clearly might help the UX designer communicate an interface with improved efficiency and meaning, just as a graphic designer's visual knowledge informs the UI designer's interface compositions.
In this article, Toptal Freelance Designer Peter Varadi explains through his own experience how a multidisciplinary design background has broadened his skill set. Who knew that an architectural education could set you apart in the field of UX Design?Thu, 02 Jun 2016 10:51:13 -0400https://www.toptal.com/designers/visual/multidisciplinary-design
multidisciplinary-designPETER VARADI, FREELANCE DESIGNER @ TOPTALGet Your Hands Dirty With Scala JVM BytecodeThe Scala language has continued to gain popularity over the last several years, thanks to its excellent combination of functional and object-oriented software development principles, and its implementation on top of the proven Java Virtual Machine (JVM).
Creating a language that compiles to Java bytecode requires a deep understanding of the inner workings of the Java Virtual Machine. To appreciate what Scala's developers have accomplished, it is necessary to go under the hood, and explore how Scala's source code is interpreted by the compiler to produce efficient and effective JVM bytecode.Wed, 01 Jun 2016 11:41:36 -0400https://www.toptal.com/scala/scala-bytecode-and-the-jvm
scala-bytecode-and-the-jvmSERGEY REZNICK, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Rise Of Automated Trading: Machines Trading the S&P 500More than 60 percent of trading activities with different assets rely on automated trading and machine learning instead of human traders. Today, specialized programs based on particular algorithms and learned patterns automatically buy and sell assets in various markets, with a goal to achieve a positive return in the long run.
In this article, Toptal Freelance Data Scientist Andrea Nalon explains how to predict, using machine learning and Python, which trade should be made next on the S&P 500 to get a positive gain.Mon, 30 May 2016 11:18:29 -0400https://www.toptal.com/machine-learning/s-p-500-automated-trading
s-p-500-automated-tradingANDREA NALON, FREELANCE DATA SCIENTIST @ TOPTALSass Mixins: Keep Your Stylesheets DRYNowadays, front-end development workflows involve many modern tools and preprocessors that not only streamline the whole process, but also allow you to spend less time on common web tasks, giving you more time to focus on other aspects of the project that require more careful and skilled insight. Sass, the scripting language for syntactically awesome stylesheets, comes with robust and built-in support for mixins - an essential feature for keeping your stylesheets DRY.
In this article, Toptal Freelance Software Engineer Justin Brazeau shows us 10 useful Sass mixins that help keep your stylesheets manageable by breaking them into smaller reusable bits, each with its own focus.
Fri, 27 May 2016 12:28:49 -0400https://www.toptal.com/css/sass-mixins-keep-your-stylesheets-dry
sass-mixins-keep-your-stylesheets-dryJUSTIN BRAZEAU, FREELANCE SOFTWARE ENGINEER @ TOPTALJumpstart Your PHP Testing with CodeceptionWould you like to test your PHP code like a boss? Do you feel that basic unit tests and PHPUnit just don't cut it anymore? If your answer to both questions is yes, you might want to try Codeception, a mature and well-documented testing framework designed to outperform PHPUnit and Behat.
In this post, Toptal Freelance Software Engineer Vasily Koval describes how he came to take the plunge and start using Codeception, and he explains why you should check out Codeception for your PHP testing needs.Wed, 25 May 2016 11:41:22 -0400https://www.toptal.com/php/php-testing-with-codeception
php-testing-with-codeceptionVASILY KOVAL, FREELANCE SOFTWARE ENGINEER @ TOPTALDesign A Better Website: Foundations FirstMost designers only publish their finished, polished wireframes and mock-ups without revealing how much work really goes into research and content organization. What results is a community that assumes that design is all about jumping into a composition. This understanding of design produces faulty products.
In this article, Alex Gurevich gives us a walkthrough of his workflow for the design of a significant non-profit company's website, explaining with each step how a thorough preliminary process leads to holistic web page design.Tue, 24 May 2016 11:12:23 -0400https://www.toptal.com/designers/web/design-better-foundations
design-better-foundationsALEX GUREVICH, FREELANCE DESIGNER @ TOPTALThe 10 Most Common Mistakes That Unity Developers MakeUnity is an excellent and straightforward tool to use for multi-platform development. Its principles are easy to understand, so programmers can start developing new products quickly and intuitively. However, if developers do not keep some important things in mind, development can slow down at crucial points, including when the project moves away from initial prototype or is approaching final release.
In this article, Toptal Freelance Software Engineer Tomas Macek outlines the most common mistakes that Unity developers should be aware of for future projects.Mon, 23 May 2016 11:02:55 -0400https://www.toptal.com/unity-unity3d/top-unity-development-mistakes
top-unity-development-mistakesTOMAS MACEK, FREELANCE SOFTWARE ENGINEER @ TOPTALProductivity On The Road: Work Full-Time, Travel Solo, Have FunDo you have what it takes to travel the globe while working full-time? Can you work on the road while still finding enough time to take care of yourself and enjoy the adventures of travel? It’s not a lifestyle for everyone, but it’s probably not as tricky or demanding as you think, especially when you have a sense of purpose.
In this article, Toptal Director of Operations Dror Liebenthal explains how to enjoy the nomadic lifestyle without compromising your professional performance, health, or social life.Thu, 19 May 2016 18:00:00 -0400https://www.toptal.com/remote/how-to-travel-and-work-full-time
how-to-travel-and-work-full-timeDROR LIEBENTHAL, DIRECTOR OF OPERATIONS @ TOPTALClustering Algorithms: From Start To State Of The ArtClustering 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.Thu, 19 May 2016 12:25:01 -0400https://www.toptal.com/machine-learning/clustering-algorithms
clustering-algorithmsLOVRO ILIASSICH, FREELANCE SOFTWARE ENGINEER @ TOPTALToptal's Quick And Practical JavaScript Cheat Sheet: ES6 And BeyondSoftware 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.Wed, 18 May 2016 10:15:08 -0400https://www.toptal.com/javascript/javascript-es6-cheat-sheet
javascript-es6-cheat-sheetJESUS DARIO RIVERA, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Art Of Meaningful UX DesignEveryone from designers to clients to users desires meaningful products, but how much do we know about what it takes to make consumer experiences meaningful? Can the psychology of consumer experience inform our UX design strategies?
In this article, Toptal Freelance Designer Kaushik Ghosh shows us how to design products that connect with users beyond basic needs and functions. The process of "Meaning Making" through appropriate design interventions can lead to significantly higher engagement, passion, and commitment from users.Tue, 17 May 2016 12:25:33 -0400https://www.toptal.com/designers/ux/delight-meaningful-ux-design
delight-meaningful-ux-designKAUSHIK GHOSH, FREELANCE DESIGNER @ TOPTALGoing Guerrilla: Affordable UX Research Tips And AlternativesThere are plenty of methods for conducting user research; however, many of these methods are resource-intensive and can be slow. In other words, they tend to be expensive and take a while to implement. This means many projects are often completed without any research, and this may prove problematic on many levels.
User research doesn’t have to cost a fortune, though. In this post, Toptal Freelance Designer Ivan Annikov explains how it’s possible to conduct a sufficient amount of user research without burning heaps of money in the process.Sun, 15 May 2016 18:00:00 -0400https://www.toptal.com/designers/ux/budget-ux-user-research
budget-ux-user-researchIVAN ANNIKOV, FREELANCE DESIGNER @ TOPTALWho Knew Adobe CC Could Wireframe?Wireframing is an essential step during interface design, no matter the project. But, who knew that Adobe CC, a platform typically associated with print design, could be a unique and powerful tool to aid designers in their wireframe workflow?
In this article, freelance designer Ivana Milicic walks us through a comprehensive wireframe process using Adobe CC tools. InDesign and Illustrator aren't just for print anymore.Thu, 12 May 2016 11:26:39 -0400https://www.toptal.com/designers/adobe/adobe-cc-wireframe
adobe-cc-wireframeIVANA MILIČIĆ, FREELANCE DESIGNER @ TOPTALUsability Past Its Breaking Point: A Toptal Design TalkShould usability ever be sacrificed for design experimentation? What is there to be learned from products that challenge the expectations of users? Might portfolio projects be the ideal venue in which to push these boundaries?
In the first Toptal Design Talk, Toptal Technical Editor Kent Mundle and freelance designer Darko Stanimirovic discuss these questions over the contentious online portfolio for the art studio, Ro-Lu.Mon, 09 May 2016 11:04:14 -0400https://www.toptal.com/designers/web/usability-portfolio-design-talk
usability-portfolio-design-talkDARKO STANIMIROVIĆ, FREELANCE DESIGNER @ TOPTALHTTP Request Testing: A Developer's Survival ToolIt'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.Fri, 06 May 2016 11:09:08 -0400https://www.toptal.com/freelance/http-request-testing-a-survival-tool
http-request-testing-a-survival-toolBHUSHAN LODHA, FREELANCE RUBY DEVELOPER @ TOPTALExpress, Koa, Meteor, Sails.js: Four Frameworks Of The ApocalypseSome 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.Thu, 05 May 2016 13:17:55 -0400https://www.toptal.com/nodejs/nodejs-frameworks-comparison
nodejs-frameworks-comparisonCHUOXIAN YANG, FREELANCE SOFTWARE ENGINEER @ TOPTALDeclarative 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.
Wed, 04 May 2016 11:14:15 -0400https://www.toptal.com/software/declarative-programming
declarative-programmingFEDERICO PEREIRO, FREELANCE SOFTWARE ENGINEER @ TOPTALUsing Scala.js With NPM And BrowserifyToday, 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.Mon, 02 May 2016 10:31:35 -0400https://www.toptal.com/scala/using-scala-js-with-npm-and-browserify
using-scala-js-with-npm-and-browserifyMICHELE SCIABARRA, FREELANCE SOFTWARE ENGINEER @ TOPTALIntroduction To Concurrent Programming: A Beginner's GuideConcurrency 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.Fri, 29 Apr 2016 11:34:01 -0400https://www.toptal.com/software/introduction-to-concurrent-programming
introduction-to-concurrent-programmingMARKO DVEČKO, FREELANCE SOFTWARE ENGINEER @ TOPTALHow To Communicate The Value Of User ResearchUX is more than a bunch of rules and heuristics that you follow in your product design process. UX is subjective. It is the experience that a user has while using a product. Therefore, we have to understand the needs and goals of potential users, their tasks, and the context in which they'll use the product.
But that's not all. We also have to communicate the value of user research to clients, which is often easier said than done. In this post, Toptal Freelance Designer Frauke Seewald explains how and why designers need to communicate the value of user research and steer clients in the right direction.Thu, 28 Apr 2016 11:08:18 -0400https://www.toptal.com/designers/ux/the-value-of-ux-user-research
the-value-of-ux-user-researchFRAUKE SEEWALD, FREELANCE DESIGNER @ TOPTALProgramming Visually With Node-RED: Wiring Up The Internet Of Things With EaseNode-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.Wed, 27 Apr 2016 11:07:46 -0400https://www.toptal.com/nodejs/programming-visually-with-node-red
programming-visually-with-node-redJESUS DARIO RIVERA, FREELANCE SOFTWARE ENGINEER @ TOPTALA Typeface Overview For Print And Web DesignToday, designers chose a typeface from drop-down menus rather than physical typesets. As a result, designers have become very detached from the original industrial contexts for which their typefaces were designed. So, how can we better inform our design work with good typeface decision making?
In this article, Toptal Technical Editor Kent Mundle provides an overview of the essential typefaces that have influenced typography today, and why you should stop using them. If the platforms for our type are changing, shouldn't our typefaces as well?Tue, 26 Apr 2016 12:29:12 -0400https://www.toptal.com/designers/graphic/typeface-print-web-design
typeface-print-web-designKENT MUNDLE, TECHNICAL EDITOR @ TOPTALIntroduction To BEM MethodologyWhen 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.Mon, 25 Apr 2016 10:16:44 -0400https://www.toptal.com/css/introduction-to-bem-methodology
introduction-to-bem-methodologyTOMISLAV MATIJEVIĆ, FREELANCE SOFTWARE ENGINEER @ TOPTALTutorial: How To Create A Custom Icon WebfontThe possibility of embedding a custom font in an HTML website revolutionized the potential of web development and opened up many new possibilities for designers. The key advantage of custom fonts over sprite graphics is their superior load time, but that's not the only benefit.
In this article, Toptal Freelance Designer Ivo Gregurec explains how you can build your very own icon font, allowing you to create a consistently unique style, unified line weight, and pixel-perfect results.Wed, 20 Apr 2016 18:00:00 -0400https://www.toptal.com/designers/icon/custom-icon-webfont-tutorial
custom-icon-webfont-tutorialIVO GREGUREC, FREELANCE DESIGNER @ TOPTALEncouraging Action And Timeliness In A Remote WorkplaceSynchronizing productivity for interdependent team tasks can be a hassle even in the best traditional workplace environments. Add in the inherent challenges of a remote team, and the hassle becomes two-fold. But it doesn't have to be.
Toptal's Technical Editor Kate Scheer takes us along on her journey to inspire timely content from her remote authors, and her communication recommendations cross into other realms of remote work.Wed, 20 Apr 2016 10:54:36 -0400https://www.toptal.com/freelance/communication-in-a-remote-workplace
communication-in-a-remote-workplaceKATE SCHEER, TECHNICAL EDITOR @ TOPTAL, LLC.When We Should Redesign: An Automotive Case StudyWhen is the best possible time for a company to conduct a website redesign? What needs to be done in a redesign to ensure another won't be needed for a long time to come?
In this article, Freelance Designer Goran Ramljak walks us through his redesign case study, exposing key issues with the automotive digital space in the process.Tue, 19 Apr 2016 10:36:50 -0400https://www.toptal.com/designers/web/web-redesign-automotive
web-redesign-automotiveGORAN RAMLJAK, FREELANCE DESIGNER @ TOPTALGulp Under the Hood: Building a Stream-based Task Automation ToolStreams 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.Fri, 15 Apr 2016 10:42:43 -0400https://www.toptal.com/nodejs/gulp-under-the-hood
gulp-under-the-hoodMIKHAIL ANGELOV, FREELANCE SOFTWARE ENGINEER @ TOPTALEmotional Sustainability in Brand and Product Design With the increase in technology startups, competition is high for consumer attention. Consumers are looking for more than just a highly functional product or outstanding service. They are seeking an experience.
In this article, Toptal Freelance Designer Danielle Thompson introduces the emotional levels of brand design to show us what it takes to design a brand that users will cherish in the long run. No longer can companies rely on infomercial style pitches to promote their brand or product.Thu, 14 Apr 2016 09:24:15 -0400https://www.toptal.com/designers/brand/emotional-design-brand
emotional-design-brandDANIELLE THOMPSON, FREELANCE DESIGNER @ TOPTALYou Need a Hero: The Project ManagerFor every tech project or business, there's inevitably the “client” and the “programmer”. Sometimes they make it work between themselves, but often someone has to step in to establish the ground rules, keep everyone honest, and facilitate communication between all parties.
This someone, this hero, is the project manager.
In this entertaining article, Ethan James gives his insights as to why you, the developer, and you, the client, should invest in a project manager... or at least employ the techniques outlined.Wed, 13 Apr 2016 11:35:26 -0400https://www.toptal.com/qa/you-need-a-hero-the-project-manager
you-need-a-hero-the-project-managerETHAN JAMES, FREELANCE SOFTWARE ENGINEER @ TOPTALClean Code and The Art of Exception HandlingExceptions are as old as programming itself. An unhandled exception may cause unexpected behavior, and results can be spectacular. Over time, these errors have contributed to the impression that exceptions are bad.
But exceptions are a fundamental element of modern programming. Rather than fearing exceptions, we should embrace them and learn how to benefit from them. In this article, we will discuss how to manage exceptions elegantly, and use them to write clean code that is more maintainable.Tue, 12 Apr 2016 10:25:17 -0400https://www.toptal.com/abap/clean-code-and-the-art-of-exception-handling
clean-code-and-the-art-of-exception-handlingAHMED ABDELRAZZAK, FREELANCE SOFTWARE ENGINEER @ TOPTALHSA For Developers: Heterogeneous Computing For The MassesHSA 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.Thu, 07 Apr 2016 18:00:00 -0400https://www.toptal.com/scientific-computing/hsa-for-developers
hsa-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALGetting Started with Elixir Programming LanguageElixir, 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.Wed, 06 Apr 2016 15:29:49 -0400https://www.toptal.com/elixir/getting-started-elixir-programming-language
getting-started-elixir-programming-languageKLEBER VIRGILIO CORREIA, FREELANCE SOFTWARE ENGINEER @ TOPTALHandling Intensive Tasks with LaravelWhen 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.Tue, 05 Apr 2016 08:58:48 -0400https://www.toptal.com/laravel/handling-intensive-tasks-with-laravel
handling-intensive-tasks-with-laravelDANIEL GHEORGHE, PHP DEVELOPER @ TOPTALToptal's Quick and Practical CSS Cheat SheetAs 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.Mon, 04 Apr 2016 11:25:30 -0400https://www.toptal.com/css/css-cheat-sheet
css-cheat-sheetTOMISLAV BACINGER, FREELANCE SOFTWARE ENGINEER @ TOPTALRethinking Authentication And Biometric Security, The Toptal WayHow 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. Thu, 31 Mar 2016 18:00:00 -0400https://www.toptal.com/remote/seo-ruined-my-life-biometric-something
seo-ruined-my-life-biometric-somethingNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALMastering 2D Cameras in Unity: A Tutorial for Game DevelopersCamera 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.Thu, 31 Mar 2016 10:28:44 -0400https://www.toptal.com/unity-unity3d/2d-camera-in-unity
2d-camera-in-unityMIHAI COZMA, FREELANCE SOFTWARE ENGINEER @ TOPTALThe 5 Most Common UI Design MistakesThe greatest mistakes that UI Designers are making may be putting the discipline in jeopardy. Many UI Designers focus so much on getting the tech right that they are missing out on what they have to offer as designers.
In this article, Toptal Technical Editor Kent Mundle outlines the Top 5 Most Common UI Design Mistakes that every designer should know.Wed, 30 Mar 2016 09:11:51 -0400https://www.toptal.com/designers/ui/most-common-ui-design-mistakes
most-common-ui-design-mistakesKENT MUNDLE, TECHNICAL EDITOR @ TOPTALThe 9 Most Common Mistakes That Ionic Developers MakeIonic 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.Tue, 29 Mar 2016 09:28:04 -0400https://www.toptal.com/ionic/most-common-ionic-development-mistakes
most-common-ionic-development-mistakesJULIEN RENAUX, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Create a Simple Python WebSocket Server Using TornadoThe 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.Mon, 28 Mar 2016 11:19:40 -0400https://www.toptal.com/tornado/simple-python-websocket-server
simple-python-websocket-serverJONGWOOK KIM, FREELANCE SOFTWARE ENGINEER @ TOPTALTop 10 Most Common Mobile App Design MistakesDesigning an app that stands the test of time is no easy feat. Only 3% of apps are still in use a month after being downloaded. What are some of the most common mistakes that designers are making to discourage so many users?
In this post, Toptal Design Editor Kent Mundle outlines the Top 10 most common mistakes in app design, and explains what designers can do to fix them.Thu, 24 Mar 2016 09:45:09 -0400https://www.toptal.com/designers/mobile/mobile-app-design-mistakes
mobile-app-design-mistakesKENT MUNDLE, TECHNICAL EDITOR @ TOPTALTop Ten Front-End Design Rules For DevelopersTruly 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.
Tue, 22 Mar 2016 19:00:00 -0400https://www.toptal.com/front-end/front-end-design-principles
front-end-design-principlesBRYAN GREZESZAK, FREELANCE SOFTWARE ENGINEER @ TOPTALA Tutorial on Drill-down FusionCharts in jQueryWhen 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.Tue, 22 Mar 2016 09:06:42 -0400https://www.toptal.com/jquery/drill-down-fusioncharts-in-jquery
drill-down-fusioncharts-in-jqueryROHIT BOGGARAPU, SOFTWARE ENGINEER @ ADOBEBoost Your Productivity With Amazon Web ServicesIn 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.Mon, 21 Mar 2016 10:46:02 -0400https://www.toptal.com/aws/boost-your-productivity-with-aws
boost-your-productivity-with-awsMINHAO ZHANG, FREELANCE SOFTWARE ENGINEER @ TOPTALWriting Testable Code in JavaScript: A Brief OverviewWriting 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.Fri, 18 Mar 2016 10:39:42 -0400https://www.toptal.com/javascript/writing-testable-code-in-javascript
writing-testable-code-in-javascriptJOSHUA MOCK, FREELANCE SOFTWARE ENGINEER @ TOPTALAndroid Developer’s Guide to Fragment Navigation PatternNavigation 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.Thu, 17 Mar 2016 10:30:59 -0400https://www.toptal.com/android/android-fragment-navigation-pattern
android-fragment-navigation-patternBECZE SZABOLCS, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Bootstrap and Create .NET ProjectsTo 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.Mon, 14 Mar 2016 10:23:30 -0400https://www.toptal.com/dot-net/bootstrap-and-create-dot-net-projects
bootstrap-and-create-dot-net-projectsANDREI SMIRNOV, FREELANCE SOFTWARE ENGINEER @ TOPTALIntroduction To PHP 7: What's New And What's GoneIf 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.Fri, 11 Mar 2016 11:16:29 -0500https://www.toptal.com/php/php-7-performance-features
php-7-performance-featuresVILSON DUKA, FREELANCE SOFTWARE ENGINEER @ TOPTALTo 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.Thu, 10 Mar 2016 10:11:43 -0500https://www.toptal.com/python/python-3-is-it-worth-the-switch
python-3-is-it-worth-the-switchDARIO BERTINI, FREELANCE SOFTWARE ENGINEER @ TOPTALHome Smart Home: Domesticating the Internet of ThingsThe impending adoption of Smart Home technology is looming. What will this mean for domestic life as we know it? For as long as people have kept homes, the dwelling has been a refuge for isolation. With the security concerns surrounding Smart Home technology and the rise of the Internet of Things, has our concept of the home changed forever?
In this article, design editor Kent Mundle questions where Smart Home technology is now, how it relates to the history of home automation, and what might be next for the market.Tue, 08 Mar 2016 09:54:01 -0500https://www.toptal.com/designers/interactive/smart-home-domestic-internet-of-things
smart-home-domestic-internet-of-thingsKENT MUNDLE, DESIGNER @ TOPTALDeveloper's Guide to Improving Project Structure in Meteor ApplicationsMeteor 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.Mon, 07 Mar 2016 11:03:10 -0500https://www.toptal.com/meteor/improving-project-structure-meteor-framework
improving-project-structure-meteor-frameworkDARION CASSEL, FREELANCE SOFTWARE ENGINEER @ TOPTALSketch vs. Photoshop: Is It Time To Switch From Photoshop To Sketch?Sketch promises a faster workflow and greater ease-of-use than its counterparts. You can think of Sketch as Illustrator with some Photoshop stitched together, but that’s only part of the story. Many Adobe features that you don’t use 90 percent of the time have been stripped out, giving us a streamlined tool that is designed to quickly prototype everything from simple wireframes to complex mockups.
In this article, Toptal freelance designer Alex Gurevich takes a closer look at the Sketch vs. Photoshop dilemma, explaining which has the advantage from a variety of perspectives.Thu, 03 Mar 2016 18:00:00 -0500https://www.toptal.com/designers/adobe/sketch-vs-photoshop
sketch-vs-photoshopALEX GUREVICH, FREELANCE DESIGNER @ TOPTALAn Introduction to Robot Operating System: The Ultimate Robot Application FrameworkRobot 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.Thu, 03 Mar 2016 13:24:22 -0500https://www.toptal.com/robotics/introduction-to-robot-operating-system
introduction-to-robot-operating-systemADNAN ADEMOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALGuide: Software Release Management For Small TeamsSmall 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.Tue, 01 Mar 2016 12:05:35 -0500https://www.toptal.com/devops/guide-release-management-for-small-teams
guide-release-management-for-small-teamsLUCAS MANCINI, FREELANCE SOFTWARE ENGINEER @ TOPTALWhat Is Strategic Design Thinking and How Can It Empower Designers?Freelance designers often work on a project-to-project, short-term basis, a reality that sometimes limits the extent to which they can design products that have a major effect on the big picture. How can designers leverage their abilities to have a maximum impact on more significant projects?
Strategic Design Thinking questions the role of design as a discipline, suggesting that it can offer more than the crafting of products and artifacts. In this article, freelance designer Kent Mundle shows us how designers can better communicate their abilities and establish a vocabulary to increase the potential value of their projects for themselves and their clients.Mon, 29 Feb 2016 11:49:21 -0500https://www.toptal.com/designers/freelance/design-strategy-communication
design-strategy-communicationKENT MUNDLE, DESIGN EDITOR @ TOPTALHow to Get Rounded Corner Shapes In C++ Using Bezier Curves and QPainter: A Step by Step GuideThe 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. Fri, 26 Feb 2016 10:40:49 -0500https://www.toptal.com/c-plus-plus/rounded-corners-bezier-curves-qpainter
rounded-corners-bezier-curves-qpainterBOJAN KVERH, FREELANCE SOFTWARE ENGINEER @ TOPTALService Oriented Architecture with AWS Lambda: A Step-by-Step TutorialAWS 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.Thu, 25 Feb 2016 10:57:07 -0500https://www.toptal.com/aws/service-oriented-architecture-aws-lambda
service-oriented-architecture-aws-lambdaANDREW CROSIO, FREELANCE SOFTWARE ENGINEER @ TOPTALPersisting Data Across Page Reloads: Cookies, IndexedDB and Everything In-BetweenModern web browsers offer a number of different APIs and mechanisms to storing data on the client-side. But are all of these options created equal?
In this article, Toptal engineer Stephen Villee demystifies the various client-side storage options available in modern web browsers and explains how each of these can play a role in storing session data on the client-side.Wed, 24 Feb 2016 11:16:21 -0500https://www.toptal.com/web/persisting-data-page-reloads-cookies-indexeddb
persisting-data-page-reloads-cookies-indexeddbSTEPHEN VILLEE, FREELANCE SOFTWARE ENGINEER @ TOPTALAgile, Scrum, and Kanban: What the Heck Do These Words Really Mean?When a software developer hears news about a "new JavaScript framework" or a "new IDE," he doesn't need to ask more questions to clarify what it's about. But if he hears about a "new agile framework," he will likely do the Homer-Simpsonian nodding, pretending that he knows what it's about, but he will have one, and only one, question: _"What the heck does 'agile framework' mean?"_
In the modern software development environment, we increasingly hear words like "agile," "scrum," and "kanban," and they are often used improperly. In this article, I'll try to explain and to clarify some of these terms.Tue, 23 Feb 2016 10:21:11 -0500https://www.toptal.com/agile/agile-scrum-kanban-what-do-they-mean
agile-scrum-kanban-what-do-they-meanGORAN PRIJIC, FREELANCE SOFTWARE ENGINEER @ TOPTALBootstrapped: Building A Remote CompanyThere are a number of things which motivated me to start my current company. Breaking away from client work while retaining all the benefits of being a location independent freelancer was one of them.
We’re a team of 10 now, serving more than 1,500 businesses worldwide. We have an office in Berlin, but many of us work remotely. In this article, I’ll dig into to the principles, tools and lessons that have helped us along the way. After reading it, I hope you’ll be able to architect your software company so it’s remote-friendly right from the start.Mon, 22 Feb 2016 10:10:15 -0500https://www.toptal.com/business-intelligence/a-bootstrapped-remote-company
a-bootstrapped-remote-companyJAN SCHULZ-HOFEN, FOUNDER & CEO @ PLANIOProject Rider: A Standalone ReSharper IDEWith Microsoft’s no-brainer shift towards open source and interoperability it was only a matter of time before we started seeing alternatives to some of their key products, like Visual Studio. Enter Project Rider: the code name for IDE guru JetBrains’ competition to Visual Studio.
Here’s the lowdown on Project Rider, the newest member of the IntelliJ platform family.Fri, 19 Feb 2016 10:52:32 -0500https://www.toptal.com/c-sharp/project-rider-a-standalone-resharper-ide
project-rider-a-standalone-resharper-ideKATE SCHEER, TECHNICAL EDITOR @ TOPTAL, LLC.The Art of War Applied To Software DevelopmentThe Art of War is an ancient military treatise, but despite its age, the text is still included in the syllabus at many military schools. Sun Tzu’s principles and teachings also have practical applications in politics, business, sports, and, believe it or not, software development. In fact, you might just be applying some of these principles in your daily routine, without even knowing.
In this post, Toptal Freelance Software Engineer Jose F. Maldonado explains why many of these ancient teachings still matter, and what you can do to make them work for you and your team. Thu, 18 Feb 2016 11:54:35 -0500https://www.toptal.com/agile/art-of-war-software-development
art-of-war-software-developmentJOSÉ MALDONADO, FREELANCE SOFTWARE ENGINEER @ TOPTALReact, Redux and Immutable.js: Ingredients for Efficient Web ApplicationsUnlike most front-end web frameworks, React's aim is to solve the various challenges of building user interfaces that rely on changing data. Although React is a simple JavaScript library and is easy to get started with, it is still possible to misuse it in ways that deny the web app from reaping the benefits that React has to offer.
In this article, Toptal engineer Ivan Rogic demonstrates the synergy of React, Redux and Immutable.js, and shows how these libraries together can solve many performance issues that are often encountered in large web applications.Wed, 17 Feb 2016 10:50:39 -0500https://www.toptal.com/react/react-redux-and-immutablejs
react-redux-and-immutablejsIVAN ROGIC, FREELANCE SOFTWARE ENGINEER @ TOPTALPython Design Patterns: For Sleek And Fashionable CodePython is a powerful, object-based, high-level programming language with dynamic typing and binding. Due to its flexibility and power, developers often employ certain rules, or Python design patterns. What makes them so important and what do does this mean for the average Python developer?
In this post, Toptal Senior Software Engineer Andrei Boyanov explains why Python is great for design patterns, and how they can be used to unlock even more potential, or to streamline development and make code more maintainable.Mon, 15 Feb 2016 09:52:12 -0500https://www.toptal.com/python/python-design-patterns
python-design-patternsANDREI BOYANOV, SENIOR SOFTWARE ENGINEER @ TOPTALTree Kernels: Quantifying Similarity Among Tree-Structured DataToday, a massive amount of data is available in the form of networks or graphs. For example, the World Wide Web, with its web pages and hyperlinks, social networks, semantic networks, biological networks, citation networks for scientific literature, and so on.
A tree is a special type of graph, and is naturally suited to represent many types of data. The analysis of trees is an important field in computer and data science. In this article, we will look at the analysis of the link structure in trees. In particular, we will focus on tree kernels, a method for comparing tree graphs to each other, allowing us to get quantifiable measurements of their similarities or differences. This an important process for many modern applications such as classification and data analysis.Fri, 12 Feb 2016 10:50:30 -0500https://www.toptal.com/machine-learning/structured-data-tree-kernels
structured-data-tree-kernelsDINO CAUSEVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Set up a Microservices Architecture in Ruby: A Step by Step GuideMicroservices are one of the latest trends in software design. In a microservices architecture, the classic monolithic back-end is substituted by a suite of distributed services. This design allows better separation of responsibilities, easier maintenance, greater flexibility in the choice of technologies for each service, and easier scalability and fault tolerance.
In this article, Toptal Freelance Software Engineer Francisco Temudo guides us in a step-by-step tutorial on how to build a microservices suite using Ruby.Thu, 11 Feb 2016 11:33:19 -0500https://www.toptal.com/ruby/how-to-set-up-a-microservices-architecture
how-to-set-up-a-microservices-architectureFRANCISCO TEMUDO, FREELANCE SOFTWARE ENGINEER @ TOPTALHow I Used Apache Spark and Docker in a Hackathon to Build a Weather AppHackathons often inspire engineers to create amazing software. By blending various technologies together, really useful and often fun projects can be realized in a short period of time.
In this article, Toptal engineer Radek Ostrowski shares his experience participating in the IBM Sparkathon, and walks us through how he elegantly combined the power of Apache Spark and Docker in IBM Bluemix to build a weather app.Wed, 10 Feb 2016 10:06:10 -0500https://www.toptal.com/spark/apache-spark-docker-hackathon-weather-app
apache-spark-docker-hackathon-weather-appRADEK OSTROWSKI, FREELANCE SOFTWARE ENGINEER @ TOPTALAn Informal Introduction to DOCXWith approximately one billion people using Microsoft Office, the DOCX format is the most popular de facto standard for exchanging document files between offices.
While DOCX is a complex format, you may want to parse it manually for simpler tasks such as indexing, converting to TXT and making other small modifications. I’d like to give you enough information on DOCX internals so you don’t have to reference the ECMA specifications, a massive 5,000 page manual. Tue, 09 Feb 2016 11:48:48 -0500https://www.toptal.com/xml/an-informal-introduction-to-docx
an-informal-introduction-to-docxSTEPAN YAKOVENKO, FREELANCE DEVELOPER @ TOPTAL2016 Design Trends: New Tools, More Automation, Full Stack Design2016 design trends are an evolution and extension of existing design languages and patterns. We are not reinventing the wheel this year, so this leaves room for innovative designs based on familiar building blocks. However, while the underlying basics remain unchanged, designers will have to master new skills and employ new tools to keep up.
In this post, Toptal Lead Designer Lubos Volkov lists a number of design trends that are likely to mark 2016. These industry trends are not limited to visual appearance or the advent of new tools. Some of them could potentially redefine our understanding of what it means to be a designer.Mon, 08 Feb 2016 12:19:30 -0500https://www.toptal.com/designers/visual/2016-design-trends
2016-design-trendsLUBOŠ VOLKOV, LEAD PRODUCT DESIGNER @ TOPTALARM Servers: Mobile CPU Architecture For Datacentres?Boring. That’s a word many people use to describe the server industry, although unexciting and uneventful would be a better fit. This is not necessarily a bad thing, because when something “exciting” happens to a server, it usually involves blue smoke and downtime. Luckily, the server space is about to get a bit more exciting, thanks to the introduction of servers based on ARM processors.
In this post, Toptal Technical Editor and resident chip geek Nermin Hajdarbegovic explains why ARM processors could end up powering a server near you, and what this means for the software industry. The potential implications of ARM servers are huge, but there is no cause for alarm. This industry segment does not tend to evolve fast, and developers will have plenty of time to get ready.Fri, 05 Feb 2016 11:37:47 -0500https://www.toptal.com/back-end/arm-servers-armv8-for-datacentres
arm-servers-armv8-for-datacentresNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALEnsemble Methods: Elegant Techniques to Produce Improved Machine Learning ResultsMachine Learning, in computing, is where art meets science. Perfecting a machine learning tool is a lot about understanding data and choosing the right algorithm. But why choose one algorithm when you can choose many and make them all work to achieve one thing: improved results.
In this article, Toptal Engineer Necati Demir walks us through some elegant techniques of ensemble methods where a combination of data splits and multiple algorithms is used to produce machine learning results with higher accuracy.Thu, 04 Feb 2016 13:01:24 -0500https://www.toptal.com/machine-learning/ensemble-methods-machine-learning
ensemble-methods-machine-learningNECATI DEMIR, FREELANCE SOFTWARE ENGINEER @ TOPTALDeveloping for the Cloud in the Cloud: BigData Development with Docker in AWSMore and more people are moving their work from desktop applications to the cloud using an equivalent online web application. However, this has unfortunately not been true for software development IDEs. Although there have been some attempts to provide an online IDE, they have not come anywhere close to traditional IDEs.
In this article, Toptal Freelance Software Engineer Michele Sciabarra guides us on how to build a cloud-based development environment for Scala and big data applications, with the help of Docker in Amazon AWS.Mon, 01 Feb 2016 12:06:23 -0500https://www.toptal.com/big-data/developing-in-the-cloud-with-docker-and-aws
developing-in-the-cloud-with-docker-and-awsMICHELE SCIABARRA, FREELANCE SOFTWARE ENGINEER @ TOPTALGuide To Budget Friendly Data MiningAlthough database programming does not evolve at nearly the same pace as traditional application programming, recent advancements in several fields are bringing new techniques and technologies within the reach of small and independent developers.
In this guide, Toptal Freelance Software Engineer Jeffrey Shumaker explains how developers can quickly and easily tap these methods to identify database issues they may not even be aware of, and how they can build excellent data mining tools without spending a lot on expensive software licenses.Fri, 29 Jan 2016 12:10:38 -0500https://www.toptal.com/database/data-mining-guide
data-mining-guideJEFFREY SHUMAKER, FREELANCE SOFTWARE ENGINEER @ TOPTALEliminating the Garbage Collector: The RAII WayManual memory management is a nightmare that programmers have been inventing ways to avoid since the invention of the compiler. Programming languages with garbage collectors make life easier, but at the cost of performance.
In this article, Toptal engineer Peter Goodspeed-Niklaus gives us a peek into the history of garbage collectors and explains how notions of ownership and borrowing can help eliminate garbage collectors without compromising their safety guarantees.Wed, 27 Jan 2016 11:23:24 -0500https://www.toptal.com/software/eliminating-garbage-collector
eliminating-garbage-collectorPETER GOODSPEED-NIKLAUS, FREELANCE SOFTWARE ENGINEER @ TOPTALCaching in Spring with EhCache AnnotationsEhCache is a widely-used, pure Java cache that can be easily integrated with most popular Java frameworks, such as Spring and Hibernate. It is often considered to be the most convenient choice for Java applications since it can be integrated into projects easily. EhCache Spring Annotations allows seamless integration into any Spring application by simply adding annotations to cacheable methods, without modifying the method implementations. This article focuses on boosting your Spring applications with EhCache Spring Annotations.Tue, 26 Jan 2016 11:41:33 -0500https://www.toptal.com/spring/caching-in-spring-with-ehcache-annotations
caching-in-spring-with-ehcache-annotationsCONG LIU, FREELANCE SOFTWARE ENGINEER @ TOPTALGoogle Cardboard Overview: VR On The CheapGoogle Cardboard was envisioned as the cheapest Virtual Reality (VR) solution on the planet, and at this point, nothing else comes close in terms of pricing. However, the low price did not bring about mass adoption, and Google's Android-based VR platform is nothing more than a tech curiosity at this point.
In this post, Toptal Technical Editor Nermin Hajdarbegovic leverages his extensive experience in the graphics industry to explain what’s keeping Cardboard VR down, and what the platform needs to attract more users, investment, and development.Fri, 22 Jan 2016 12:51:31 -0500https://www.toptal.com/virtual-reality/google-cardboard-vr
google-cardboard-vrNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALCreating Usable JVM Languages: An OverviewJava Virtual Machine (JVM), the powerful virtual machine behind programming languages like Java and Scala, provides a platform-independent environment for executing compiled bytecode. Programming languages built for the JVM can be used to write programs that can run on a wide range of platforms without modification and can even leverage all the libraries and frameworks that exist for the JVM.
In this article, Toptal engineer Federico Tomassetti presents an overview of the strategy and various tools involved in creating our very own programming language for the JVM.Thu, 21 Jan 2016 11:26:20 -0500https://www.toptal.com/software/creating-jvm-languages-an-overview
creating-jvm-languages-an-overviewFEDERICO TOMASSETTI, FREELANCE SOFTWARE ENGINEER @ TOPTALGuide to Multi-processing Network Server ModelsIn this article, Toptal engineer Ivan Voras provides a useful overview and comparison of multi-processing network server models, with the goal being to take some of the mystery out of writing high performance networking code. The article is intended for "system programmers", i.e., back-end developers who will work with the low-level details of their applications, implementing network server code.Wed, 20 Jan 2016 09:17:49 -0500https://www.toptal.com/software/guide-to-multi-processing-network-server-models
guide-to-multi-processing-network-server-modelsIVAN VORAS, SOFTWARE ENGINEER @ TOPTALDesign Principles: Introduction To HierarchyIn this article, Freelance Designer Kent Mundle examines the basics of good design: hierarchy, shapes, sizes, and colors. The foundational rules of visual perception are critical for any graphic design, as they instruct how information with embedded meaning is conveyed as quickly as possible.
However, these rules were founded in print and have yet to be redefined for digital media. There has yet to be a sort of digital Bauhaus school to set these new principles. The rules of hierarchy and composition are not just dated, they break down in web interfaces.Tue, 19 Jan 2016 11:27:19 -0500https://www.toptal.com/designers/visual/design-principles-hierarchy
design-principles-hierarchyKENT MUNDLE, FREELANCE DESIGNER @ TOPTALREST Security with JWT using Java and Spring SecurityAlthough the old, standardized security approaches work with REST services, they all have problems that could be avoided by using a better standard. For this, JWT arrives just in time to save the day.
In this article, Toptal engineer Dejan Milosevic guides us on how to implement a JWT token-based REST API using Java and Spring Security.Mon, 18 Jan 2016 10:53:01 -0500https://www.toptal.com/java/rest-security-with-jwt-spring-security-and-java
rest-security-with-jwt-spring-security-and-javaDEJAN MILOSEVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALWSGI: The Server-Application Interface for PythonNowadays, almost all Python frameworks use WSGI as a means, if not the only means, to communicate with their web servers. This is how Django, Flask and many other popular frameworks do it.
This article intends to provide the reader with a glimpse into how WSGI works, and allow the reader to build a simple WSGI application or server.Thu, 14 Jan 2016 11:20:19 -0500https://www.toptal.com/python/pythons-wsgi-server-application-interface
pythons-wsgi-server-application-interfaceLEANDRO LIMA, FREELANCE SOFTWARE ENGINEER @ TOPTALTrue Dependency Injection with Symfony ComponentsThe Dependency Injection Container in Symfony2 allows components to be injected with their dependencies, and is often used as a Service Locator, which when combined with the DI-container pattern is considered to be an anti-pattern by many.
In this article, Toptal engineer Vasilii Lapin shows us how you can build a simple Symfony2 application using the DI-container, but without implementing the Service Locator pattern.Wed, 13 Jan 2016 11:44:06 -0500https://www.toptal.com/symfony/true-dependency-injection-symfony-components
true-dependency-injection-symfony-componentsVASILII LAPIN, FREELANCE SOFTWARE ENGINEER @ TOPTALThe World Is Our Interface: Design Beyond The ScreenToptal Freelance Designer Danielle Reid presents a number of exciting technologies and various interfaces to interact with them, while taking a historical perspective on interactions with man-made objects that have evolved with us to where we are.
From typewriters to touchscreens and beyond, UI design is constantly evolving to improve user experience and boost productivity. Find out what the next generation of connected devices will bring to the table.Tue, 12 Jan 2016 11:44:44 -0500https://www.toptal.com/designers/ui/touch-the-world-is-our-interface
touch-the-world-is-our-interfaceDANIELLE REID, FREELANCE DESIGNER @ TOPTALMySQL Master-Slave Replication on the Same MachineDevelopers often work on only one machine, and have their whole development environment on that machine. Testing database replication before deploying changes in this kind of a development environment can be a challenging task.
In this article, Toptal engineer Ivan Bojovic guides us through a step-by-step tutorial on how to implement MySQL master-slave replication on one machine.Mon, 11 Jan 2016 11:41:09 -0500https://www.toptal.com/mysql/mysql-master-slave-replication-tutorial
mysql-master-slave-replication-tutorialIVAN BOJOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALContext Validation in Domain-Driven DesignHandling all validation in domain objects results in objects that are huge and complex to work with. In domain-driven design, using decoupled validator components allows your code to be much more reusable and enables validation rules to rapidly grow.
In this article, Toptal engineer Josip Medic shows us how validation can be decoupled from domain objects, made context-specific, and structured well to achieve more sustainable validation code.Thu, 07 Jan 2016 10:16:11 -0500https://www.toptal.com/scala/context-validation-in-domain-driven-design
context-validation-in-domain-driven-designJOSIP MEDIC, FREELANCE SOFTWARE ENGINEER @ TOPTALIntegrating Facebook Login in AngularJS App with SatellizerIntegrating social network login in web applications directly using their SDKs can be a time consuming task. The fact that these SDKs keep changing every now and then doesn't help either.
In this article, Toptal engineer Son Nguyen Kim provides us with an in-depth tutorial on how to use Satellizer, a feature-rich AngularJS library to integrate Facebook Login in an AngularJS web app.Wed, 06 Jan 2016 10:45:41 -0500https://www.toptal.com/angular-js/facebook-login-angularjs-app-satellizer
facebook-login-angularjs-app-satellizerSON NGUYEN KIM, FREELANCE SOFTWARE ENGINEER @ TOPTALCommoditized Smartphones: Bringing 4G To Developing CountriesAre we really going to need $500 phones to get people in developing countries on 3G or 4G? Not really.
Welcome to the world of commoditised smartphones. Allow us to explain what’s going on and why it could have a significant impact on software and hardware industries.Tue, 05 Jan 2016 12:35:08 -0500https://www.toptal.com/mobile/broadband-in-developing-countries
broadband-in-developing-countriesNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALGrape Gem Tutorial: How To Build A REST-Like API In RubyIn this tutorial, Toptal Engineer Orban Botond demonstrates how to use the Grape gem -- a REST-like API micro-framework for Ruby -- to build backend support in Rails for a JSON API. Grape is designed to run as a mountable rack engine that complements your web applications without interfering with them.Wed, 30 Dec 2015 12:54:05 -0500https://www.toptal.com/ruby/grape-gem-tutorial-how-to-build-a-rest-like-api-in-ruby
grape-gem-tutorial-how-to-build-a-rest-like-api-in-rubyORBAN BOTOND, SOFTWARE ENGINEER @ TOPTALWhat's New in ES6? Perspective of a CoffeeScript ConvertCoffeeScript allows developers to make the most out of JavaScript-based platforms without having to jump through its awkward language hoops. However, with the introduction of ES6 features into major JavaScript engines, plain JavaScript is now nearly as friendly and powerful out-of-the-box as CoffeeScript.
In this article, Toptal engineer William Coates shares his findings on ES6 from the perspective of a CoffeeScript convert.Tue, 29 Dec 2015 10:04:37 -0500https://www.toptal.com/javascript/whats-new-in-es6-perspective-coffeescript
whats-new-in-es6-perspective-coffeescriptWILLIAM COATES, FREELANCE SOFTWARE ENGINEER @ TOPTALBuilding an IMAP Email Client with PHPDevelopers sometimes run into tasks that require access to email mailboxes. In most cases, this is done using the Internet Message Access Protocol, or IMAP. As a PHP developer, I first turned to PHP's built in IMAP library, but this library is buggy and impossible to debug or modify. So today we will create a working IMAP email client from the ground up using PHP. We will also see how to use Gmail's special commands.Mon, 28 Dec 2015 10:16:39 -0500https://www.toptal.com/php/building-an-imap-email-client-with-php
building-an-imap-email-client-with-phpARTEM GALTSEV, FREELANCE SOFTWARE ENGINEER @ TOPTALBuild Ultra-Modern Web Apps with Angular MaterialMaterial Design uses a paper metaphor, bold intentions, and meaningful motion to give user interfaces an ultra-modern feel. Web applications built using AngularJS can now easily adopt these design principles using Angular Material, a reference implementation of Google's Material Design Specification.
In this article, Toptal engineer Matt Spaulding walks us through the principles of Material Design and showcases some modern user interface elements built using the Angular Material library.Wed, 23 Dec 2015 11:00:24 -0500https://www.toptal.com/angular-js/ultra-modern-web-apps-angular-material
ultra-modern-web-apps-angular-materialMATT SPAULDING, FREELANCE SOFTWARE ENGINEER @ TOPTAL3D Printing: Should Designers And Developers Take Notice? 3D printing is not a new technology, but recent advances in several fields have made it more accessible to hobbyists and businesses. Compared to other tech sectors, it’s still a small industry, but most analysts agree it has a lot of potential.
But where is the potential for freelance designers and software engineers?Tue, 22 Dec 2015 11:52:07 -0500https://www.toptal.com/designers/freelance/3d-printing-for-developers
3d-printing-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALNodeOS: The JavaScript Based Operating SystemAn operating system written in Node.js? Yes, it exists, and it’s called NodeOS. Think for a second about the progress Node.js has made in the short time it’s been around. Now, imagine the same thing happening with an operating system.
In this article, Toptal engineer Danny Morabito introduces us to NodeOS, guiding us with a step-by-step tutorial on how to create our first NodeOS application using nothing more than Node.js.Mon, 21 Dec 2015 10:32:39 -0500https://www.toptal.com/nodejs/nodeos-the-javascript-based-operating-system
nodeos-the-javascript-based-operating-systemDANNY MORABITO, FREELANCE SOFTWARE ENGINEER @ TOPTALiOS Animation and Tuning for EfficiencySmooth animations and flawless transitions are key to perceived performance in modern mobile applications. Without the right tools, tuning iOS animation for efficiency can be a challenge in itself.
In this article, Toptal engineer Stefan Progovac demonstrates the role of Instruments, a sophisticated set of performance profiling tools for iOS, discussing how they can help you understand animation performance bottlenecks and some strategies for working around them.Fri, 18 Dec 2015 10:04:37 -0500https://www.toptal.com/ios/ios-animation-and-tuning-for-efficiency
ios-animation-and-tuning-for-efficiencySTEFAN PROGOVAC, FREELANCE SOFTWARE ENGINEER @ TOPTALUltimate Guide to Processing Part II: Building a Simple GameProcessing makes prototyping visual apps a breeze. With its easy to use programming constructs and some mathematics, building a simple game is a lot easier than one may think.
In this article, Toptal engineer Oguz Gelal provides a step-by-step tutorial to building a game using Processing and porting it to the web.Thu, 17 Dec 2015 10:49:26 -0500https://www.toptal.com/game/ultimate-guide-to-processing-simple-game
ultimate-guide-to-processing-simple-gameOGUZ GELAL, FREELANCE SOFTWARE ENGINEER @ TOPTALBuilding a Rest API with the Bottle FrameworkREST APIs have become a common way to establish an interface between web back-ends and front-ends, and between different web services. The simplicity of this kind of interface, and the ubiquitous support of the HTTP and HTTPS protocols across different networks and frameworks, makes it an easy choice when considering interoperability issues.
Bottle is a minimalist Python web framework. It is lightweight, fast, and easy to use, and is well-suited to building RESTful services. In this article, I'll provide a walkthrough of how to build a RESTful API service using Bottle.Tue, 15 Dec 2015 10:00:04 -0500https://www.toptal.com/bottle/building-a-rest-api-with-bottle-framework
building-a-rest-api-with-bottle-frameworkLEANDRO LIMA, FREELANCE SOFTWARE ENGINEER @ TOPTALWill Shoppers And Developers Adapt to Proximity Marketing In-Store?Talking about proximity marketing will get you varying reactions, from concerns about privacy issues to the idea that your phone is going to spam you with annoying ads non-stop, but if you boil down the idea, there are some really compelling concepts here.
When you clear away all the buzzwords, what exactly is this shift we’re seeing? It’s the world customizing itself to you. The world is reacting to your presence, specific to you as an individual. Retailers and start-ups have taken notice, and the concepts of mobile location analytics and proximity marketing are emerging out of that.Mon, 14 Dec 2015 10:47:44 -0500https://www.toptal.com/mobile/proximity-marketing-in-store
proximity-marketing-in-storeBRANDON R JOHNSON, FREELANCE DESIGNER @ TOPTALCold War Tech: It’s Still Here, And Still Being UsedThe long-term effect of the Cold War on science and technology is more profound than Nena’s 99 Luftbalons, or any Oliver Stone Vietnam flick.
If you are reading this, you’re already using Cold War technology; The Internet. That’s not all. A lot of tech and infrastructure we take for granted was developed, or at least conceived, during these tumultuous decades.Fri, 11 Dec 2015 09:33:43 -0500https://www.toptal.com/it/cold-war-tech-cyberwarfare-cybercrime
cold-war-tech-cyberwarfare-cybercrimeNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALDemystifying iOS 9 Spotlight Search for DevelopersSpotlight search in Apple iOS 9, compared to earlier versions, has been made much more prominent and personal. With suggestions from Siri and integration opportunities for third-party apps, iPhone's search functionality is no longer limited to the scope of Apple's own apps. In this article, Toptal engineer Richard Forsythe explores some iOS SDK functionalities that allow apps to make content available to the user via Spotlight search.Wed, 09 Dec 2015 10:23:34 -0500https://www.toptal.com/ios/ios-9-spotlight-search-for-developers
ios-9-spotlight-search-for-developersRICHARD FORSYTHE, FREELANCE SOFTWARE ENGINEER @ TOPTALSingle Responsibility Principle: A Recipe for Great CodeMaintainable code is something we all desire and there are no shortage of coding principles that promise it. It is not always apparent how tremendously useful these principles are during the early stages of development. Nonetheless, the effort put in to ensure these qualities certainly pay off as the project grows and development continues. In this article, Toptal engineer Adel Fayzrakhmanov discusses how the Single Responsibility Principle is one of the most important aspect in writing good maintainable code.Tue, 08 Dec 2015 13:03:39 -0500https://www.toptal.com/software/single-responsibility-principle
single-responsibility-principleADEL FAYZRAKHMANOV, FREELANCE SOFTWARE ENGINEER @ TOPTALHosting For Freelance Developers: PaaS, VPS, Cloud, And MoreWhether you’re creating a virtual storefront, deploying an app, or simply doing some third-party testing and development, chances are you need some server muscle. The good news is that there is _a lot_ to choose from. The hosting industry may not be loud or exciting, but it never sleeps; it’s a dog eat dog world, with cutthroat pricing, a lot of innovation behind the scenes, and cyclical hardware updates.
In this article, we take a look at hosting options for freelance software engineers: PaaS, Cloud, VPS, dedicated, and more.Fri, 04 Dec 2015 11:36:55 -0500https://www.toptal.com/it/hosting-for-freelance-developers-paas
hosting-for-freelance-developers-paasNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALBuilding a Color-based Image Search Engine in RubyWith modern image editing tools, we often take for granted the ability to extract or identify color on some part of any image. However, doing it programmatically is not exactly so straightforward. Camalian, a Ruby gem, changes that, making extracting and manipulating colors in an image as easy as possible. In this article, Toptal engineer Nazar Hussain provides some insight into how various color spaces work, introduces Camalian, and gives an overview of how to use it to build a color-based image search engine in Ruby.Wed, 02 Dec 2015 11:48:21 -0500https://www.toptal.com/ruby/building-color-based-image-search-engine-ruby
building-color-based-image-search-engine-rubyNAZAR HUSSAIN, FREELANCE SOFTWARE ENGINEER @ TOPTALWhat The Hell Is DevOps?Using modern DevOps Tools like Chef, Docker, Ansible, Packer, Troposphere, Consul, Jenkins, SonarQube, AWS, etc. does not mean that you are applying DevOps principles. DevOps is a way of thinking.Tue, 01 Dec 2015 11:29:14 -0500https://www.toptal.com/devops/what-the-hell-is-devops
what-the-hell-is-devopsDEMIR SELMANOVIC, LEAD TECHNICAL EDITOR @ TOPTALUltimate Guide to the Processing Language Part I: The FundamentalsRapid prototyping and the ability to produce quick visual results are features of many programming languages and frameworks. However, some take it even further by making these their primary goals. Processing, a programming language based on Java, allows its users to code within the context of visual arts and has been designed from the ground up to provide instant visual feedback. In this article, Toptal engineer Oguz Gelal provides a gentle introduction to Processing and some insights into its inner mechanics.Fri, 27 Nov 2015 10:12:14 -0500https://www.toptal.com/game/ultimate-guide-to-processing-the-fundamentals
ultimate-guide-to-processing-the-fundamentalsOGUZ GELAL, FREELANCE SOFTWARE ENGINEER @ TOPTALiOS 9 Betas And WatchOS 2 For DevelopersApple's iOS 9 and WatchOS 2 updates brings a number of novel features, including improved multitasking for iPads and a host of aesthetic tweaks. However, while iOS 9 is just an incremental update with a focus on the new iPad Pro, WatchOS 2 is not a skin-deep update. Apple has changed the WatchOS architecture and opened up a range of new possibilities for developers. Fri, 20 Nov 2015 10:35:56 -0500https://www.toptal.com/ios/ios-9-betas-and-watchos-2-for-developers
ios-9-betas-and-watchos-2-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALGoing Real-Time with Redis Pub/SubReal-time applications have already started to dominate the landscape of the Internet. With modern frameworks and standardization of the necessary client-side features, building a real-time web application has become a breeze. However, such web applications still pose unique scalability challenges.
In this article, Toptal engineer Mahmud Ridwan explores the architecture of a simple real-time web application that works using Redis Pub/Sub and doesn't compromise its horizontal scalability.Thu, 19 Nov 2015 09:54:44 -0500https://www.toptal.com/go/going-real-time-with-redis-pubsub
going-real-time-with-redis-pubsubMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALImpostor Syndrome: How I Fool My Bosses, and You TooBy and large, I haven't run into any major disadvantages or advantages to being a woman in the software field. I feel like that's a story not told enough in the debate, where the experience is just like anything else in life: some good, some bad, overall average.Mon, 16 Nov 2015 11:32:06 -0500https://www.toptal.com/freelance/women-in-tech-impostor-syndrome
women-in-tech-impostor-syndromeKATE SCHEER, FREELANCE SOFTWARE ENGINEER @ LIFE RELENTLESSOnline Video with Wowza and Amazon Elastic TranscoderPerformance and data interoperability are critical to the success of any web application. For web apps that need to support video processing -- which is inherently compute- and I/O-intensive -- these challenges are particularly acute. In this post, I describe some of my experience successfully incorporating video capabilities into a PHP-based web app, leveraging open source technologies and cloud-based services to the greatest extent possible.Thu, 12 Nov 2015 13:21:21 -0500https://www.toptal.com/php/online-video-wowza-amazon-elastic-transcoder
online-video-wowza-amazon-elastic-transcoderKRZYSZTOF OŻÓG, SOFTWARE ENGINEER @ TOPTALSlow Android Wear Adoption Is Stifling DevelopmentSeveral factors conspired to stifle Android Wear growth, ranging from lack of Google development, to inadequate hardware. Some of these problems have been addressed, some are being addressed, while others cannot be addressed with currently available technology.Tue, 10 Nov 2015 11:35:06 -0500https://www.toptal.com/android/slow-android-wear-adoption-stifling-development
slow-android-wear-adoption-stifling-developmentNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALRuby Metaprogramming Is Even Cooler Than It SoundsRuby metaprogramming, one of the most interesting aspects of Ruby, enables the programming language to achieve an extreme level of expressiveness. It is because of this very feature that many gems, such as RSpec and ActiveRecord, can work the way they do. In this article, Toptal engineer Nikola Todorovic demystifies Ruby metaprogramming using some examples that are relevant to everyday programming and aims to bring it closer to average Ruby developers.Thu, 29 Oct 2015 09:34:25 -0400https://www.toptal.com/ruby/ruby-metaprogramming-cooler-than-it-sounds
ruby-metaprogramming-cooler-than-it-soundsNIKOLA TODOROVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALToptal Global Mentors: Education EverywhereThe Toptal Global Mentors program is designed to help novice developers around the world improve their skills and create new career opportunities. In our diverse, yet interconnected global industry, cutting-edge skills are always in short supply. The program aims to bridge the gap between skilled software engineers in developed countries and students from across the globe, who aspire to join the industry.Mon, 26 Oct 2015 11:59:31 -0400https://www.toptal.com/remote/toptal-global-mentors-education-everywhere
toptal-global-mentors-education-everywhereRODRIGO ALVES, FREELANCE SOFTWARE ENGINEER @ TOPTALAre All Trends Worth It? Top 5 Most Common UX Mistakes That Designers MakeMany modern web trends offer a lot of visual appeal and the temptation to follow them blindly is quite real. These trends are not always bad, but they can be dangerous if not implemented with caution. In this article, Toptal designer Bojan Janjanin discusses some of the most common UX mistakes and some insights on finding the balance between what looks nice and what is actually usable.
Wed, 21 Oct 2015 10:51:35 -0400https://www.toptal.com/designers/ux/top-5-common-ux-mistakes
top-5-common-ux-mistakesBOJAN JANJANIN, FREELANCE DESIGNER @ TOPTALSimplified NGINX Load Balancing with LoadcatNGINX, a sophisticated web server, offers high performance load balancing features, among many other capabilities. Like most other web server software for Unix-based systems, NGINX can be configured easily by writing simple text files. However, there is something interesting about tools that configure other tools, and it may be even easier to configure an NGINX load balancer if there was a tool for it.
In this article, Toptal engineer Mahmud Ridwan demonstrates how easy it is to build a simple tool with a web-based GUI capable of configuring NGINX as a load balancer.Fri, 16 Oct 2015 11:28:48 -0400https://www.toptal.com/devops/simplified-nginx-load-balancing-with-loadcat
simplified-nginx-load-balancing-with-loadcatMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALElectron: Cross-platform Desktop Apps Made EasyBuilding cross-platform desktop applications has been something of a nightmare for a very long time, as extreme differences between popular desktop operating systems makes it a challenging feat. However, in light of newer tools and frameworks like Electron, building a cross-platform desktop application has never been easier. In this article, Toptal engineer Stéphane P. Péricat walks us through a step-by-step tutorial to building a cross-platform password key-ring desktop application using technologies that most of us are already familiar with.Thu, 15 Oct 2015 10:44:04 -0400https://www.toptal.com/javascript/electron-cross-platform-desktop-apps-easy
electron-cross-platform-desktop-apps-easySTÉPHANE P. PÉRICAT, FREELANCE SOFTWARE ENGINEER @ TOPTALOpen Source: It's Not That Scary!Is open source scary? Do developers think that nobody would be interested in their personal projects? What are the fears associated with publishing your own work for the public to see? In this article, Toptal Director of Engineering Anna Chiara Bellini shares how, as an accomplished engineer, she made her first contribution to GitHub. This guide features all the step-by-step basics to getting involved in open source, including everything from what open source software is, to how to start working with Git and GitHub, to actually making meaningful contributions to open source projects.Wed, 14 Oct 2015 09:35:12 -0400https://www.toptal.com/open-source/open-source-not-that-scary
open-source-not-that-scaryANNA CHIARA BELLINI, DIRECTOR OF ENGINEERING @ TOPTALHow to Use Rails Helpers: A Bootstrap Carousel DemonstrationOne of the most misused, misunderstood, and neglected of all the Rails built-in structures is the view helper. Helpers often get a bad reputation for being a dumping ground for one-off methods used across the entire application's view layer. But what if your helpers could be more semantic, better organized, and even reusable across projects? What if they could be more than just one-off functions sprinkled throughout the view, but powerful methods that generated complex markup with ease leaving your views free of conditional logic and code?
Let's see how to do this when building an image carousel, with the familiar Twitter Bootstrap framework and some good old-fashioned object-oriented programming.Thu, 08 Oct 2015 12:30:13 -0400https://www.toptal.com/ruby-on-rails/rails-helper-bootstrap-carousel
rails-helper-bootstrap-carouselCARLOS RAMIREZ III, FREELANCE SOFTWARE ENGINEER @ TOPTALSay Hello To Toptal Designers!To date, Toptal has been known as a thriving network comprised of some of the best software developers in the world, and up until now, designer involvement at Toptal has been done on an informal basis. As we’ve expanded and evolved, we’ve always been acutely aware of the fact that the diversity of personalities, areas of expertise, and personal passions that come together from across the world at Toptal is one of the primary things that makes our community so strong. With this in mind, today we are extremely excited to announce the official launch of Toptal Designers.Wed, 07 Oct 2015 16:45:32 -0400https://www.toptal.com/designers/freelance/say-hello-to-toptal-designers
say-hello-to-toptal-designersDROR LIEBENTHAL, HEAD OF MARKETING AND COMMUNICATIONS @ TOPTALBuilding REST API for Legacy PHP ProjectsEvery once in a while PHP developers are charged with tasks that require them to extend the functionalities of legacy projects, a task that often includes building REST APIs. Building a REST API for PHP-based projects is challenging, but in the absence of proper frameworks and tools, it can also be a particularly difficult goal to get right. In this article, Toptal engineer Arminas Zukauskas shares his advice, with sample code, on how to build a modern structured REST API around existing legacy PHP projects.Mon, 05 Oct 2015 11:13:40 -0400https://www.toptal.com/php/building-rest-api-for-legacy-php-projects
building-rest-api-for-legacy-php-projectsARMINAS ZUKAUSKAS, FREELANCE SOFTWARE ENGINEER @ TOPTALHunting and Analyzing High CPU Usage in .NET ApplicationsSoftware performance in production is hard to analyze. Things can go wrong at any time, and code can start executing in ways that weren’t planned for. In these cases, what do we do? In this article, Toptal engineer Juan Pablo Scida analyzes a real scenario of high CPU usage of a web application. He covers all the processes and .NET code analysis involved to identify the problem, explains how the problem was solved, and most importantly, explores why this problem happened in the first place.Fri, 02 Oct 2015 09:38:59 -0400https://www.toptal.com/dot-net/hunting-high-cpu-usage-in-dot-net
hunting-high-cpu-usage-in-dot-netJUAN PABLO SCIDA, FREELANCE SOFTWARE ENGINEER @ TOPTALOptimized Successive Mean Quantization TransformImage processing algorithms are often very resource intensive due to fact that they process pixels on an image one at a time and often requires multiple passes. Successive Mean Quantization Transform (SMQT) is one such resource intensive algorithm that can process images taken in low-light conditions and reveal details from dark regions of the image.
In this article, Toptal engineer Daniel Angel Munoz Trejo gives us some insight into how the SMQT algorithm works and walks us through a clever optimization technique to make the algorithm a viable option for handheld devices.Wed, 30 Sep 2015 11:28:14 -0400https://www.toptal.com/algorithms/successive-mean-quantization-transform
successive-mean-quantization-transformDANIEL ANGEL MUÑOZ TREJO, FREELANCE SOFTWARE ENGINEER @ TOPTALSkype Tips for Remote TeamsToptal has a strong remote culture), to say the least. To keep up with each other, we need a tool to keep team members in sync, where we can reach any other person at a moment's notice. We use Skype as our main communication channel among Toptal's core team.
Over the years, Skype has grown a lot, and has become a versatile tool that can be used on all of your devices at once, syncing chat amongst them, and providing a simple way to call and share screens. It is a tool that we leverage every day for our internal operations.
As heavy Skype users, there are a few things we've noticed that might not be clear to everyone. Here are a few tips on how you and your remote team can get the most of of Skype.Tue, 29 Sep 2015 11:49:20 -0400https://www.toptal.com/remote/skype-tips-for-remote-teams
skype-tips-for-remote-teamsALVARO OLIVEIRA, VP OF TALENT OPERATIONS @ TOPTALLearn to Code: Wisdom and Tools for the JourneyIt's no surprise that more and more people, from all kinds of backgrounds, are deciding to learn to code. But, each person who tackles the task is soon faced with an unpleasant reality: Learning to program is hard. Contrary to expectations, the feeling of "I don't get it," may persist unabated long into the journey, making once bright-eyed beginners feel hopeless, lost, and ready to give up.
The moral of the story is this: Be prepared. The path to programmer paradise is a long one, and without the right mindset at the beginning, it can quickly lose its appeal. In this article, I'll attempt to give you some guidance on what to expect on your journey, how best to go about it, and what tools and resources you may find helpful along the way.Fri, 25 Sep 2015 11:35:31 -0400https://www.toptal.com/freelance/learn-to-code-wisdom-and-tools
learn-to-code-wisdom-and-toolsNICK MCCREA, TECHNICAL EDITOR @ TOPTALWhat Does Force Touch Mean For UI And UX?Force Touch is not a new idea. BlackBerry experimented with the concept back in 2008, and a few Android phone makers also examined the possibility of using Force Touch on their products. In fact, Force Touch support has been a part of Android for years; it was introduced in Android 1.0.Thu, 24 Sep 2015 11:03:02 -0400https://www.toptal.com/ui/what-does-force-touch-mean-for-ui-and-ux
what-does-force-touch-mean-for-ui-and-uxNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALSpeeding up Application Development with BootstrapBootstrap, one of the most used HTML/CSS/JavaScript front-end frameworks, offers a little more than just fancy customizable user interface elements. It provides a great starting point for many types of projects, a plethora of components, and many nifty styles predefined for responsive layout and utility classes to help keep your HTML and CSS code clean.
In this article, Toptal designer Lijana Saniukaite walks us through some practical Bootstrap tips and best practices to speed up your application development.Wed, 23 Sep 2015 11:43:50 -0400https://www.toptal.com/twitter-bootstrap/speeding-up-development-bootstrap
speeding-up-development-bootstrapLIJANA SANIUKAITE, FREELANCE UI DEVELOPER @ TOPTALDebugging Memory Leaks in Node.js ApplicationsMemory leaks in long running Node.js applications are like ticking time bombs that, if left unchecked in production environments, can result in devastating outcomes. These bugs are often considered to be hard to find. However, with the right tools and a strategic approach, memory leaks can not only be solved but also avoided in the future. In this article, Toptal engineer Vladyslav Millier gives us insight into what memory leaks are, how some sophisticated debugging tools can be used to find memory leaks, and how to plug them once and for all.Tue, 22 Sep 2015 10:36:31 -0400https://www.toptal.com/nodejs/debugging-memory-leaks-node-js-applications
debugging-memory-leaks-node-js-applicationsVLADYSLAV MILLIER, FREELANCE SOFTWARE ENGINEER @ TOPTALIs Open Source Open to Women?The fact that women are underrepresented in tech is nothing new. However, while we've seen the gender diversity reports from companies like Google, Facebook, and many more, a look at the number of women in the open source community suggests that the numbers might be worse than these reports imply. In this post, Toptal COO Breanden Beneschott shares the results of a study looking at gender on GitHub and considers a few reasons why GitHub is so male-dominated, including a few ideas on how we can make the open source community a more welcoming place.Mon, 21 Sep 2015 12:08:50 -0400https://www.toptal.com/open-source/is-open-source-open-to-women
is-open-source-open-to-womenBREANDEN BENESCHOTT, CO-FOUNDER / COO @ TOPTALThe GWT Toolkit: Build Powerful JavaScript Front Ends Using JavaThe GWT Web Toolkit, formerly known as Google Web Toolkit, is a set of development tools for building and optimizing complex browser-based applications using the Java programming language. What makes GWT not "yet another Java tool to write web apps," is the fact that the heart of the toolkit is a compiler that converts Java into JavaScript, enabling developers to write front-end web applications while leveraging all of Java's strengths.Thu, 17 Sep 2015 11:08:23 -0400https://www.toptal.com/front-end/javascript-front-ends-in-java-with-gwt
javascript-front-ends-in-java-with-gwtALBERTO MANCINI, FREELANCE SOFTWARE ENGINEER @ TOPTALDeveloper’s Guide to Open Source LicensesMany developers often overlook, or do not thoroughly think through the implications of open source licenses. Whether you’re planning to open source your own project under one of these licenses, or you intend to integrate some other open source project into one of your own, it’s important to have at least some knowledge of what these licenses are, how they may affect your projects, and how they complement or contradict one another. In this article, Toptal engineer David Marín gives us a comprehensive guide to some of the most popular open source licenses, and several rules of thumb to follow when choosing a license for future open source projects.Wed, 16 Sep 2015 11:17:52 -0400https://www.toptal.com/open-source/developers-guide-to-open-source-licenses
developers-guide-to-open-source-licensesDAVID MARÍN, FREELANCE SOFTWARE ENGINEER @ TOPTALTowards Updatable D3.js ChartsWhen Mike Bostock created D3.js, he introduced a tried and true reusable charts pattern for implementing the same chart in any number of selections. However, the limitations of this pattern are realized once the chart is initialized. In this article, Toptal engineer Rob Moore presents a revised reusable charts pattern that leverages the full power of D3.js.
Tue, 15 Sep 2015 09:46:15 -0400https://www.toptal.com/d3-js/towards-reusable-d3-js-charts
towards-reusable-d3-js-chartsROB MOORE, FREELANCE SOFTWARE ENGINEER @ TOPTALApple Pay And Android Pay For DevelopersToday, we will be taking a look at the future of mobile payments and emerging opportunities for developers. Needless to say, with each new opportunity, developers will have to face new challenges.
However, since we are talking about money, I don’t think anyone expects a shortage of software developers eager to learn a few new tricks and get into this space.Fri, 11 Sep 2015 11:21:51 -0400https://www.toptal.com/mobile/apple-pay-and-android-pay-for-developers
apple-pay-and-android-pay-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALSoftware Reengineering: From Spaghetti to Clean DesignInheriting someone else’s code can be a nightmare, especially when the code is poorly designed and lacks documentation. In this post, Toptal Engineer Juan Pablo Scida provides a case study of how he reengineered a chat server written in Node.js, transforming its original spaghetti code into a cleanly architected and designed piece of software.Thu, 10 Sep 2015 10:29:14 -0400https://www.toptal.com/nodejs/software-reengineering
software-reengineeringJUAN PABLO SCIDA, SOFTWARE ENGINEER @ TOPTALImplementing a Remote Framebuffer Server in JavaConnecting to remote computers and working on them through terminals over a network is something we often take for granted. Technologies that enable us to do this have changed the way we work and have opened doors to amazing possibilities. Although the inner workings of these technologies may seem like obscure knowledge, implementations of many of these technologies are surprisingly straightforward. In this article, Toptal engineer Igor Delac gives us a step-by-step tutorial on how to implement the Remote Framebuffer server-side protocol in Java, allowing Swing-based applications to run and be interacted with remotely using standard VNC clients.Wed, 09 Sep 2015 10:25:31 -0400https://www.toptal.com/java/implementing-remote-framebuffer-server-java
implementing-remote-framebuffer-server-javaIGOR DELAC, FREELANCE SOFTWARE ENGINEER @ TOPTALA Remote Worker's Guide To Staying HealthyThere are a lot of developers who take good care of themselves and enjoy a healthy, active lifestyle. If you are one of them, you can skip the rest of this post, because I wrote it to help developers like myself, who could benefit from a healthier lifestyle.
Even if you are entirely focused on your career, and think you don’t have enough spare time to lead a healthy lifestyle, bear in mind that good physical health will also boost your productivity.Tue, 08 Sep 2015 10:38:46 -0400https://www.toptal.com/remote/staying-healthy-while-working-remotely
staying-healthy-while-working-remotelyVICTOR ABADIO, FREELANCE SOFTWARE ENGINEER @ TOPTALSass Style Guide: A Sass Tutorial on How to Write Better CSS CodeWhen working on big web applications as a team with other developers, code needs to be scalable and readable. This can be a challenging process when it comes to CSS, although preprocessors like Sass are available. But only using preprocessors will only get you so far. In this article, Toptal engineer Matias Hernandez presents a style guide with advice on how to improve the way you write your code.
Mon, 07 Sep 2015 09:40:59 -0400https://www.toptal.com/front-end/sass-style-guide-a-sass-tutorial-on-how-to-write-better-css-code
sass-style-guide-a-sass-tutorial-on-how-to-write-better-css-codeMATIAS HERNANDEZ, FREELANCE SOFTWARE ENGINEER @ TOPTALHow to Turn Your Raspberry Pi Into a Development ServerThe Raspberry Pi is a little computer that you can get for as low as US $35 and on which you can run many different types of software and build many different projects. In this article, I'm going to guide you through the process of setting it up as a home development server and deploying a full-stack JavaScript application that you can access from outside your network. This is great for setting up your own remote digital workspace, or simply to have control over the hardware you use for development.Fri, 04 Sep 2015 11:05:21 -0400https://www.toptal.com/raspberry-pi/how-to-turn-your-raspberry-pi-into-a-development-server
how-to-turn-your-raspberry-pi-into-a-development-serverPABLO VILLOSLADA PUIGCERBER, FREELANCE SOFTWARE ENGINEER @ TOPTALEmbracing Sass: Why You Should Stop Using Vanilla CSSCSS preprocessors have been around for quite a while now. These tools, among many things, promise convenience in writing style sheets for the web. However, not everyone is taking advantage of these utilities, and is still resorting to writing vanilla CSS. In this article, Toptal engineer Marcelo Mazza discusses some of the reasons why he thinks Sass is the way to go and why you should be using it in your projects.Thu, 03 Sep 2015 10:22:49 -0400https://www.toptal.com/front-end/embracing-sass-why-you-should-stop-using-vanilla-css
embracing-sass-why-you-should-stop-using-vanilla-cssMARCELO MAZZA, FREELANCE SOFTWARE ENGINEER @ TOPTALThings To Watch Out For While Working RemotelyRemote jobs can be good for you, but depending on your character, they can also have some unpleasant side-effects. Burnout affects people in all walks of life and in all industries, so what makes remote workers different?
Recognising burnout symptoms early on is of vital importance and I cannot stress this enough. The deeper you sink into it, the longer it will take to recover, it’s as simple as that.Wed, 02 Sep 2015 11:44:58 -0400https://www.toptal.com/remote/remote-work-burnout-a-cautionary-tale
remote-work-burnout-a-cautionary-taleNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALTest Automation in Selenium Using Page Object Model and Page FactoryProper test automation is not always easy to achieve and requires almost as much design and thought as needed for the software itself. In the agile way of development tests are an essential ingredient in ensuring quality of software. However, unless these test codes are maintainable, they can prove to be more of a nuisance, especially when it comes to automated testing of modern web applications. This article is an easy introduction to Selenium features Page Object and Page Factory, how they can be used to model web applications, and how to write maintainable test code using them.Mon, 31 Aug 2015 11:43:02 -0400https://www.toptal.com/selenium/test-automation-in-selenium-using-page-object-model-and-page-factory
test-automation-in-selenium-using-page-object-model-and-page-factoryDEJAN ZIVANOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALSoftware Development Anywhere: My Distributed Remote WorkplaceWorking as a remote software development freelancer has many benefits, but setting up an effective distributed working environment can be a real challenge. In this article, Toptal Engineer Ivan Voras describes how he leverages SSH and a number of related technologies, along with the Raspberry Pi and ownCloud, to be able to work effectively from anywhere.Fri, 28 Aug 2015 11:00:08 -0400https://www.toptal.com/remote/software-development-anywhere-my-distributed-remote-workplace
software-development-anywhere-my-distributed-remote-workplaceIVAN VORAS, SOFTWARE ENGINEER @ TOPTALDesigning The UHD 4K Web Of Tomorrow, Please Start TodayWith four times as many pixels per inch, stuff should look better on a 4K panel, no question about that. In most cases, it does. If you play 1080p video on a 4K display, it will still look good, but what happens if you start using a legacy application or old website?Thu, 27 Aug 2015 11:05:06 -0400https://www.toptal.com/designers/web/designing-the-uhd-4k-web-of-tomorrow
designing-the-uhd-4k-web-of-tomorrowNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALSoftware Costs Estimation In Agile Project ManagementOne of the hardest things to do in software development is to determine how long and how much it will take to deliver a new software product. Should it be so hard? The answer is not straightforward. Wed, 26 Aug 2015 09:01:00 -0400https://www.toptal.com/agile/software-costs-estimation-in-agile-project-management
software-costs-estimation-in-agile-project-managementPAUL BARNES, HEAD OF PROJECTS @ TOPTALLanding Page Design: Building the Ultimate Landing PageThe focus of this landing page guide is technical. The goal is to help other developers narrow down their search for the right third-party services and technologies, which they will deploy in their landing page designs. This will, hopefully, help them save time and money, which could otherwise be wasted on fruitless experimentation.Tue, 25 Aug 2015 12:20:04 -0400https://www.toptal.com/designers/web/a-landing-page-design-guide
a-landing-page-design-guideLÁSZLÓ MONDA, FREELANCE SOFTWARE DEVELOPER @ TOPTALTaming WebRTC with PeerJS: Making a Simple P2P Web GameWebRTC has opened doors to all kinds of new peer-to-peer web applications and games that can run in the browser without the need of additional plugins. However, being a relatively new technology, it still poses some unique challenges to developers. PeerJS aims to tackle some of those challenges by providing an elegant API and insulating developers from WebRTC’s implementation differences. In this article, Toptal engineer Mahmud Ridwan provides an introductory tutorial to building a simple, peer-to-peer web game using PeerJS. Fri, 21 Aug 2015 10:15:56 -0400https://www.toptal.com/webrtc/taming-webrtc-with-peerjs
taming-webrtc-with-peerjsMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALThe Industry Could Do Without Pixel Density And PPI MarketingLike it or not, once you start chasing pixels, you are more likely to end up with a bigger screen. This means more backlighting, more GPU load, more juice, and a bigger battery. Huge phones with insanely high pixel densities are a triumph of cunning marketing over sensible engineering.
The trend is not making hardware better in a noticeable way, yet it’s making it more expensive and less efficient. It is no longer improving the user experience, either, and in some cases it is even degrading it.Thu, 20 Aug 2015 09:43:31 -0400https://www.toptal.com/designers/ui/the-industry-could-do-without-pixel-density-and-ppi-marketing
the-industry-could-do-without-pixel-density-and-ppi-marketingNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALA Brief Overview Of Vulkan APIHere’s the Vulkan API in a hundred words or less: It’s a low-overhead, close-to-metal API for 3D graphics and compute applications. Vulkan is basically a follow-on to OpenGL. It was originally referred to as the “next generation OpenGL initiative,” and it includes a few bits and pieces from AMD’s Mantle API. Vulkan is supposed to provide numerous advantages over other GPU APIs, enabling superior cross-platform support, better support for multithreaded processors, lower CPU load, and a pinch of OS agnosticism.Tue, 18 Aug 2015 09:44:34 -0400https://www.toptal.com/api-developers/a-brief-overview-of-vulkan-api
a-brief-overview-of-vulkan-apiNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALToptal's List Of Top Free Programming BooksThe Internet is mankind's biggest repository of knowledge, information, useful (and useless: think of cat pics) digital content. Today, we will be taking a quick look at something useful and down to earth: free online programming books.Fri, 14 Aug 2015 10:37:50 -0400https://www.toptal.com/software/toptal-s-list-of-top-free-programming-books
toptal-s-list-of-top-free-programming-booksNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALResponsive Design Is Not Enough, We Need Responsive PerformanceBetween square inch smart wristwatches and mammoth smart TVs, a responsive website capable of adapting to a wide array of screen sizes and device capabilities is something no one complains about. However, many websites are still plagued by desktop-first design paradigms, or mobile-first paradigms with absolutely no focus on performance. These traditional approaches to responsive web design have various shortcomings. Fortunately, some simple ideas can help solve these problems.Thu, 13 Aug 2015 09:36:11 -0400https://www.toptal.com/designers/responsive/responsive-design-is-not-enough-we-need-responsive-performance
responsive-design-is-not-enough-we-need-responsive-performanceVEDRAN ABERLE TOKIĆ, FREELANCE SOFTWARE ENGINEER @ TOPTALIs Developing For Car Infotainment Systems like Android Auto and Apple Carplay the Next Big Thing?Cars with next-generation connected infotainment systems will create new opportunities on several fronts. In case you already have an infotainment system with a neat touchscreen and GPS in your car, please accept my condolences; it’s about to become as obsolete as a Nokia 3310 compared to an iPhone.Wed, 12 Aug 2015 09:35:16 -0400https://www.toptal.com/android/is-developing-for-car-infotainment-systems-the-next-big-thing
is-developing-for-car-infotainment-systems-the-next-big-thingNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALWhy You Need to Upgrade to Java 8 AlreadyThe newest version of the Java platform, Java 8, was released more than a year ago. Many companies and developers are still starting new applications with old versions of Java. There are very few good reasons to do this, because Java 8 has brought some important improvements to the language. I'll show you a handful of the most useful and interesting ones.Tue, 11 Aug 2015 11:10:25 -0400https://www.toptal.com/java/why-you-need-to-upgrade-to-java-8-already
why-you-need-to-upgrade-to-java-8-alreadyEDUARD GRINCHENKO, FREELANCE SOFTWARE ENGINEER @ TOPTALCryptocurrency for Dummies: Bitcoin and BeyondBitcoin created a lot of buzz on the Internet. It was ridiculed, it was attacked, and eventually it was accepted and became a part of our lives. However, Bitcoin is not alone. At this moment, there are over 700 AltCoin implementations, which use similar principles of CryptoCurrency.Fri, 07 Aug 2015 10:45:08 -0400https://www.toptal.com/bitcoin/cryptocurrency-for-dummies-bitcoin-and-beyond
cryptocurrency-for-dummies-bitcoin-and-beyondDEMIR SELMANOVIC, LEAD TECHNICAL EDITOR @ TOPTALWeb Animation In The Post-Flash EraWe often use allegory to pass on an idea, trying to visually present the point of the story to allow the other person easier understanding. Using some kind of visualisation to paint a full picture of the story we are trying to tell is a good idea. Using animation to get the message across can be even better; if a picture is worth a thousand words, how much is an animation worth?Wed, 05 Aug 2015 11:07:45 -0400https://www.toptal.com/designers/web/animating-the-web-in-the-post-flash-era
animating-the-web-in-the-post-flash-eraANA GREGUREC, FREELANCE SOFTWARE ENGINEER @ TOPTALGetting Started with Docker: Simplifying DevopsDocker, an open source tool, has changed the way we think about deploying applications to servers. By leveraging some amazing resource isolation features of the Linux kernel, Docker makes it possible to easily isolate server applications into containers, control resource allocation, and design simpler deployment pipelines. Moreover, Docker enables all of this without the additional overhead of full-fledged virtual machines.Mon, 03 Aug 2015 10:08:53 -0400https://www.toptal.com/devops/getting-started-with-docker-simplifying-devops
getting-started-with-docker-simplifying-devopsRADEK OSTROWSKI, FREELANCE SOFTWARE ENGINEER @ TOPTALBuilding an MVC Application with Spring Framework: A Beginner's TutorialThe Spring Framework is a powerful, feature-rich, and well-designed framework for the Java platform. It offers a collection of programming and configuration models that aim to simplify and streamline the development process of robust and testable applications in Java. In this article, Toptal engineer Stefan Varga challenges the popular notion of Java as a complicated platform for simple needs, and walks us through a step by step tutorial to building a simple MVC application with the Spring Framework and JPA.Fri, 31 Jul 2015 11:08:42 -0400https://www.toptal.com/spring/beginners-guide-to-mvc-with-spring-framework
beginners-guide-to-mvc-with-spring-frameworkSTEFAN VARGA, FREELANCE SOFTWARE ENGINEER @ TOPTALUnity with MVC: How to Level Up Your Game DevelopmentIn this article I’ll relate my experience with the popular Unity game development platform and the Model-View-Controller (MVC) pattern for game development. In my seven years of development, having wrestled with my fair share of game dev spaghetti, I’ve been achieving great code structure and development speed using this design pattern.Thu, 30 Jul 2015 11:59:33 -0400https://www.toptal.com/unity-unity3d/unity-with-mvc-how-to-level-up-your-game-development
unity-with-mvc-how-to-level-up-your-game-developmentEDUARDO DIAS DA COSTA, FREELANCE SOFTWARE ENGINEER @ TOPTALDigital Nomads Can Manage Teams, And Manage To See The WorldSome people like the known and predictable. They freak out when their daily routine gets disrupted. But, I’ll bet if you are doing any kind of creative work like programming or design, you are not one of those people. Ordinary day-to-day office work will kill you. It will eventually strip your motivation, creativity or flare for what you do.Wed, 29 Jul 2015 10:39:11 -0400https://www.toptal.com/remote/digital-nomads-can-manage-teams-and-manage-to-see-the-world
digital-nomads-can-manage-teams-and-manage-to-see-the-worldLORA PLESKO, FREELANCE SOFTWARE ENGINEER @ TOPTALCold Dive into React Native: A Beginner's TutorialThe development of cross-platform mobile applications has always been a source of many challenges. Although tools like Apache Cordova and Haxe do solve some of the associated issues, they are still not the ideal solution in many cases. React Native changes that by providing the power of React.js for mobile platforms and a promise of consistent developer experience across multiple platforms.Tue, 28 Jul 2015 09:24:04 -0400https://www.toptal.com/ios/cold-dive-into-react-native-a-beginners-tutorial
cold-dive-into-react-native-a-beginners-tutorialJOHANNES STEIN, FREELANCE SOFTWARE ENGINEER @ TOPTALSimplifying RESTful API Use and Data Persistence on iOS with Mantle and RealmA large number of modern mobile applications interact with web services in one way or another, and iOS applications are no different. Mantle (a model framework) and Realm (a mobile database) come with the promise of simplifying some of the hurdles in consuming web services through RESTful APIs and persisting data locally. In this article, Toptal engineer Marcin Kmiec shows how to build a simple iOS application using Mantle and Realm and demonstrates how this approach helps to eliminate a large amount of boilerplate code.Fri, 24 Jul 2015 10:10:05 -0400https://www.toptal.com/ios/simplifying-restful-api-use-and-data-persistence-on-ios-with-mantle-and-realm
simplifying-restful-api-use-and-data-persistence-on-ios-with-mantle-and-realmMARCIN KMIEC, FREELANCE SOFTWARE ENGINEER @ TOPTALChoosing The Best Headphones For DevelopersEven if you have a brand new notebook and a flagship smartphone, you should not rely on stock hardware for professional voice calls. It’s simply not good enough; otherwise there would be no aftermarket audio industry to begin with.Thu, 23 Jul 2015 11:30:19 -0400https://www.toptal.com/voip/choosing-the-best-headphones-for-developers
choosing-the-best-headphones-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALOpenGL Tutorial for Android: Building A Mandelbrot Set GeneratorOpenGL, a cross-platform API for rendering 2D and 3D graphics, is extremely powerful and yet surprisingly easy to get started with. Although one may find the most common applications of OpenGL and rendered graphics in video games only, in reality there are far more uses. To demonstrate the power of OpenGL, we'll be building a Mandelbrot set generator on Android using OpenGL ES.Wed, 22 Jul 2015 10:28:18 -0400https://www.toptal.com/opengl/opengl-tutorial-for-android-building-a-mandelbrot-set-generator
opengl-tutorial-for-android-building-a-mandelbrot-set-generatorASA KAPLAN, FREELANCE SOFTWARE ENGINEER @ TOPTALAfter All These Years, the World is Still Powered by C ProgrammingDespite the prevalence of higher-level languages, the C programming language continues to empower the world. There are plenty of reasons to believe that C programming will remain active for a long time. Here are some reasons that C is unbeatable, and almost mandatory, for certain applications.Tue, 21 Jul 2015 11:27:57 -0400https://www.toptal.com/c/after-all-these-years-the-world-is-still-powered-by-c-programming
after-all-these-years-the-world-is-still-powered-by-c-programmingDANIEL ANGEL MUÑOZ TREJO, FREELANCE SOFTWARE ENGINEER @ TOPTALGoogle Cloud Source Repositories vs. Bitbucket vs. GitHub: A Worthy Alternative?Google’s new cloud code platform does not appear to be taking on GitHub head on. Instead, Cloud Source Repositories (CSR) will allow users to connect to repositories hosted on GitHub or Bitbucket. However, everything is automatically synced to the Google Cloud Source Repository.
The good news is that a Google CSR can be connected to another Git repository hosted on GitHub or Bitbucket. All changes will be synchronised on both platforms, as you can set Google CSR to automatically mirror from GitHub and Bitbucket.Mon, 20 Jul 2015 10:39:54 -0400https://www.toptal.com/git/google-cloud-source-repositories-vs-github-a-worthy-alternative
google-cloud-source-repositories-vs-github-a-worthy-alternativeNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALAndroid Customization: How to Build a UI Component That Does What You WantIt is not uncommon for developers to find themselves in need of a UI component that is either not provided by the platform they are targeting or is, indeed, provided, but lacks a certain property or behavior. The answer to both scenarios is a custom UI component. The Android UI model is inherently customizable, offering the means to create custom UI components in various ways.Thu, 16 Jul 2015 11:28:43 -0400https://www.toptal.com/android/android-customization-how-to-build-a-ui-component-that-does-what-you-want
android-customization-how-to-build-a-ui-component-that-does-what-you-wantAHMED AL-AMIR, FREELANCE SOFTWARE ENGINEER @ TOPTALCSS Layout Tutorial: From Classic Approaches to the Latest TechniquesMastering CSS is an absolute necessity for any solid web designer or developer. This tutorial walks you through the fundamentals of CSS layout principles, from classic CSS2 techniques to the latest approaches in CSS3. Learn more about how to leverage all that CSS has to offer in order to optimize both the user’s experience and the quality of your code.Wed, 15 Jul 2015 09:51:18 -0400https://www.toptal.com/css/css-layout-primer-from-classic-approaches-to-the-latest-techniques
css-layout-primer-from-classic-approaches-to-the-latest-techniquesLAUREANO MARTIN ARCANIO, FREELANCE SOFTWARE ENGINEER @ TOPTALEight Reasons Why Microsoft Stack Is Still a Viable ChoiceIn today’s world where there are a lot of choices for writing quality software, it’s easy to overlook some tools that are viable options in developing modern software. These software development tools, in competition with each other, often fluctuate in popularity and developer preferences. Many excellent tools are viable options for any given project. This article provides eight reason in favor of the Microsoft stack and why it is still a reasonable choice for software development today.Tue, 14 Jul 2015 10:19:58 -0400https://www.toptal.com/microsoft/eight-reasons-why-microsoft-stack-is-still-a-viable-choice
eight-reasons-why-microsoft-stack-is-still-a-viable-choiceEUGENE TSYGANKOV, FREELANCE SOFTWARE ENGINEER @ TOPTALCase Study: Using Toptal To Reel In Big FishWhether you’re an avid angler or an app developer, you may be interested in taking a closer look at the development of a fishing app, which involved some of your fellow Toptalers.
The goal was to create an app that would be truly useful in a professional fishing setting, while at the same time meeting a hard deadline. Since Fatsack Outdoors wanted to launch the app at one of the biggest fishing tradeshows of the year, the deadline was non-negotiable.Mon, 13 Jul 2015 09:02:35 -0400https://www.toptal.com/app/case-study-using-toptal-to-reel-in-big-fish
case-study-using-toptal-to-reel-in-big-fishNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALOpenCV Tutorial: Real-time Object Detection Using MSER in iOSDetecting objects of interest in images has always been an interesting challenge in the realm of computer vision, and many approaches have been developed over recent years. As mobile platforms are becoming increasingly powerful, now is the perfect opportunity to develop interesting mobile applications that take advantages of these algorithms. This article walks us through the process of building a simple iOS application for detecting objects in images.Fri, 10 Jul 2015 10:35:01 -0400https://www.toptal.com/machine-learning/real-time-object-detection-using-mser-in-ios
real-time-object-detection-using-mser-in-iosALTAIBAYAR TSEVEENBAYAR, FREELANCE SOFTWARE ENGINEER @ TOPTALHow React Components Make UI Testing EasyTesting back-ends is easy. But testing front-end code is kinda hard. In the ten years I've been a developer, I hadn’t found a decent way to test user interaction and view rendering until I started poking at React.Wed, 08 Jul 2015 10:56:18 -0400https://www.toptal.com/react/how-react-components-make-ui-testing-easy
how-react-components-make-ui-testing-easySWIZEC TELLER, FREELANCE DEVELOPMENT CONSULTANT @ SWIZEC.COMUltimate In-memory Data Collection Manipulation with Supergroup.jsIn-memory data collection manipulation is something that we often need to do in data-centric reporting and visualization applications. When needed, we often tend to resort to complex loops, list comprehensions, and other suboptimal means, which can easily end up being a huge mess of hard-to-maintain spaghetti code. Supergroup.js is an in-memory data manipulation library that can be used to solve some common data manipulation challenges on limited datasets.Tue, 07 Jul 2015 10:43:18 -0400https://www.toptal.com/javascript/ultimate-in-memory-data-collection-manipulation-with-supergroup-js
ultimate-in-memory-data-collection-manipulation-with-supergroup-jsSIGFRIED GOLD, FREELANCE SOFTWARE ENGINEER @ TOPTALRactive.js - Web Apps Made EasyRactive.js provides powerful capabilities for web app development in a way that is refreshingly simple to learn and use. In this article, Toptal Engineer Eugene Mirotin walks you through the process of building a simple Ractive search app, demonstrating some of Ractive’s key features and the ways in which it helps simplify web app development. Code samples are provided and explained.Thu, 02 Jul 2015 12:50:49 -0400https://www.toptal.com/javascript/ractive-js-web-apps-made-easy
ractive-js-web-apps-made-easyEUGENE MIROTIN, FREELANCE SOFTWARE ENGINEER @ TOPTALGetting Started with Modules and Modular Front-End DevelopmentFor some people, front-end design and development can sometimes start to seem like a chore, and can be monotonous and time consuming. Through a modular design approach, it is possible to both save time and streamline the design and development process. Tue, 30 Jun 2015 10:01:28 -0400https://www.toptal.com/designers/ux/getting-started-with-modular-front-end-development
getting-started-with-modular-front-end-developmentBOJAN JANJANIN, FREELANCE DESIGNER @ TOPTALHow to Tune Microsoft SQL Server for PerformanceTo retain its users, any application or website must run fast. For mission critical environments, a couple of milliseconds delay in getting information might create big problems. As database sizes grow day by day, we need to fetch data as fast as possible, and write the data back into the database as fast as possible. To make sure all operations are executing smoothly, we have to tune Microsoft SQL Server for performance.Fri, 26 Jun 2015 09:43:38 -0400https://www.toptal.com/sql-server/how-to-tune-microsoft-sql-server-for-performance
how-to-tune-microsoft-sql-server-for-performanceSRIPAL REDDY VINDYALA, FREELANCE SOFTWARE ENGINEER @ TOPTALNavigating the React.JS EcosystemIn this article, I'll go through some of the interesting features and libraries that are available to use with React. Even if you don't plan on using React, taking a look at its ecosystem is inspiring. You may want to simplify your build system using the powerful, yet comparatively easy to configure, module bundler Webpack, or start writing ECMAScript 6 and even ECMAScript 7 today with the Babel compiler. So, let's explore the React ecosystem!Thu, 25 Jun 2015 10:43:10 -0400https://www.toptal.com/react/navigating-the-react-ecosystem
navigating-the-react-ecosystemTOMAS HOLAS, FREELANCE SOFTWARE ENGINEER @ TOPTALIntroducing Battlescripts: Bots, Ships, Mayhem!Programming is about having fun and enjoying the process of creating something cool. That is why we decided to build a bot-vs-bot game platform around Battleship and make it open source. In this article, we take a look at the code and mechanics of the extensible engine behind this platform.Tue, 23 Jun 2015 10:19:12 -0400https://www.toptal.com/nodejs/introducing-battlescripts-bots-ships-mayhem
introducing-battlescripts-bots-ships-mayhemMAHMUD RIDWAN, FREELANCE SOFTWARE ENGINEER @ TOPTALUnit Tests, How to Write Testable Code and Why it MattersIn this article, I will show that unit testing itself is quite easy; the real problems that complicate unit testing, and introduce expensive complexity, are a result of poorly-designed, untestable code. We will discuss what makes code hard to test, which anti-patterns and bad practices we should avoid to improve testability, and what other benefits we can achieve by writing testable code. We will see that writing testable code is not just about making testing less troublesome, but about making the code itself more robust, and easier to maintain.Thu, 18 Jun 2015 11:06:07 -0400https://www.toptal.com/qa/how-to-write-testable-code-and-why-it-matters
how-to-write-testable-code-and-why-it-mattersSERGEY KOLODIY, FREELANCE SOFTWARE ENGINEER @ TOPTALThe Ultimate Introduction To Agile Project ManagementSimply calling something Agile isn't particularly helpful. The word, even in a software context, means different things to different people or organizations. There are many facets, definitions, implementations, and interpretations.
In this article, Toptal Head of Projects Paul Barnes teaches about behaviors, frameworks, techniques, and concepts supporting agile project management in software development.Tue, 16 Jun 2015 11:12:41 -0400https://www.toptal.com/agile/ultimate-introduction-to-agile-project-management
ultimate-introduction-to-agile-project-managementPAUL BARNES, HEAD OF PROJECTS @ TOPTALLet LoopBack Do It: A Walkthrough of the Node API Framework You've Been Dreaming OfWhile Ruby has Rails and Python has Django, the dominant application development framework for Node has yet to be established. But, there is a powerful contender gaining steam: LoopBack, an open source API framework built by StrongLoop, the creators of Express.
Let's take a closer look at LoopBack and it's capabilities by turning everything into practice and building an example application.Wed, 10 Jun 2015 11:20:58 -0400https://www.toptal.com/nodejs/let-loopback-do-it-a-walkthrough-of-the-node-api-framework-you-ve-been-dreaming-of
let-loopback-do-it-a-walkthrough-of-the-node-api-framework-you-ve-been-dreaming-ofJOVAN JOVANOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALMake Website Design Decisions in Your Browser: My Process for Designing WebsitesWith an ever-growing device landscape, it is becoming increasingly difficult to design consistent user interfaces across all devices. Using paper and pencil, or design tools that do not properly mimic the dynamic nature of web browsers across multiple platforms and screen sizes, can sometimes lead to obvious inefficiencies. However, the web browser can be used as a critical and efficient tool for designing websites and interfaces.Tue, 09 Jun 2015 11:19:36 -0400https://www.toptal.com/designers/ux/make-design-decisions-in-your-browser-my-process-for-designing-websites
make-design-decisions-in-your-browser-my-process-for-designing-websitesLUCIJAN BLAGONIC, FREELANCE DESIGNER @ TOPTALHow to Make Remote Working Work for YouRemote work comes with lots of things to take into account when designing your schedule, so finding the right balance that works best for you can be tricky. Here’s how to create a remote working schedule that works best for you, enabling you to get the most out of life while staying productive and effectively supporting your colleagues.Mon, 08 Jun 2015 10:17:26 -0400https://www.toptal.com/remote/how-to-make-remote-working-work-for-you
how-to-make-remote-working-work-for-youBELLE COOPER, CO-FOUNDER @ HELLO CODEThe 8 Most Common Mistakes that Ember.js Developers MakeEmber.js is a comprehensive framework for building complex client-side applications. But, as with any advanced framework, there are still pitfalls Ember developers may fall into. With the following post, I hope to provide a map to evade these. Let's jump right in!!Fri, 05 Jun 2015 11:47:30 -0400https://www.toptal.com/emberjs/the-8-most-common-ember-js-developer-mistakes
the-8-most-common-ember-js-developer-mistakesBALINT ERDI, FREELANCE SOFTWARE ENGINEER @ TOPTALAndroid M (Android 6.0) For Developers: An Evolutionary Step In The Right DirectionGoogle announced Android M at its annual I/O dev conference in late May, and the new OS is coming to our beloved Android devices later this year. Android 6.0 is more of an evolutionary step, whereas Android 5.0 was a big leap forward thanks to its 64-bit ART runtime and all new Material Design.
However, Android M should not be dismissed as a minor update. In this post, I will try to explain why.Thu, 04 Jun 2015 11:09:49 -0400https://www.toptal.com/android/android-m-for-developers-an-evolutionary-step-in-the-right-direction
android-m-for-developers-an-evolutionary-step-in-the-right-directionNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALMeet Bond, Microsoft Bond - A New Data Serialization FrameworkMicrosoft Bond is a modern data serialization framework. It provides powerful DSL and flexible protocols, code generators for C++ and C#, efficient protocol implementations for Windows, Linux, and Mac OS X. This article is a quick guide of the features and use of this framework.Wed, 03 Jun 2015 10:53:53 -0400https://www.toptal.com/microsoft/meet-bond-microsoft-bond
meet-bond-microsoft-bondANDREI SMIRNOV, FREELANCE SOFTWARE ENGINEER @ TOPTALThe 10 Most Common Bootstrap Mistakes That Developers MakeBootstrap is a powerful toolkit. It comes bundled with basic HTML and CSS design templates that include many common UI components. Most of the important pitfalls are mentioned in the Bootstrap documentation, but still some mistakes are pretty subtle, or have ambiguous causes. This article outlines some of the most common mistakes, problems, and misconceptions when using Bootstrap.Tue, 02 Jun 2015 10:21:58 -0400https://www.toptal.com/twitter-bootstrap/the-10-most-common-bootstrap-mistakes
the-10-most-common-bootstrap-mistakesTOMISLAV BACINGER, SOFTWARE ENGINEER @ TOPTALErgonomics for Digital Nomads: Working on the Road Without Killing YourselfWe live in a time where technology has made it possible to work from anywhere, and many people have eschewed the traditional office for the chaotic din of a cafe in Bangkok or a hotel in Prague. Yet, while this trend has opened up unprecedented opportunities, it also brings with it a number of challenges, perhaps the most insidious of which is a lack of ergonomically healthy options in non-traditional workspaces.Mon, 01 Jun 2015 12:03:08 -0400https://www.toptal.com/remote/ergonomics-for-digital-nomads-working-on-the-road-without-killing-yourself
ergonomics-for-digital-nomads-working-on-the-road-without-killing-yourselfCASEY ROSENGREN, CO-FOUNDER @ HACKER PARADISEThe Vital Guide To Hire Great Freelance DevelopersTechnically, hiring freelance developers has never been easier, but don’t lull yourself into a false sense of security. The number of freelance platforms and skilled developers on the market is going up, but so are the challenges associated with finding, testing and selecting a truly great candidate.Sun, 31 May 2015 09:25:35 -0400https://www.toptal.com/freelance/the-vital-guide-to-hire-great-freelance-developers
the-vital-guide-to-hire-great-freelance-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALWhy I Switched from AngularJS to ReactThis article provides the overview of pain points caused by AngularJS and reasons for switching to React.Sun, 31 May 2015 09:25:35 -0400https://www.toptal.com/react/why-did-i-switch-from-angularjs-to-react
why-did-i-switch-from-angularjs-to-reactKUMAR SANKET, SOFTWARE ENGINEER @ TOPTALUsability And The Art Of Portfolio Design: A Toptal Design TalkIs it ever safe to sacrifice usability for experimentation in web design? What can be learned from products that challenge the values of web designers? Are portfolio projects potentially the perfect venue to push the boundaries?
In the first Toptal Design Talk, Toptal Technical Editor Kent Mundle and freelance designer Darko Stanimirovic discuss these questions over a contentious website portfolio for the renown studio, Ro-Lu.Sun, 31 May 2015 09:25:15 -0400https://www.toptal.com/designers/web/usability-portfolio-design
usability-portfolio-designDARKO STANIMIROVIĆ, FREELANCE DESIGNER @ TOPTALThe Psychology of Wearables and Wearable TechnologyRecognizing, understanding, and effectively leveraging today's growing landscape of wearable technologies is likely to be increasingly essential to the success of a wide array of businesses. In this article, we discuss the ways in which effective interface design will need to adapt, in some ways dramatically, to address the new psychology of wearable technology.Fri, 29 May 2015 09:53:56 -0400https://www.toptal.com/designers/ux/the-psychology-of-wearables
the-psychology-of-wearablesANTONIO AUTIERO, SOFTWARE ENGINEER @ TOPTALBuilding Modern Web Applications with AngularJS and Play FrameworkBuilding robust web applications is often a lot about choosing the right tools. Doing so with a combination of tools that ensure both a modern, flexible front-end, and a solid, reliable back-end is something everybody wants. This article demonstrates exactly that trick by combining AngularJS and Play Framework to build a simple blog application.Tue, 26 May 2015 11:12:15 -0400https://www.toptal.com/java/building-modern-web-applications-with-angularjs-and-play-framework
building-modern-web-applications-with-angularjs-and-play-frameworkDENYS SINYAKOV, FREELANCE SOFTWARE ENGINEER @ TOPTALWhat is Bootstrap? A Short Bootstrap Tutorial on the What, Why, and HowIf you're doing anything web related, chances are you've heard about Bootstrap. Bootstrap is a powerful toolkit - a collection of HTML, CSS, and JavaScript tools for creating and building web pages and web applications. It is a free and open source project, hosted on GitHub, and originally created by (and for) Twitter. If by now you still don't know what Bootstrap is, or you just want to get a better overview of what it is and what it does best, you've come to the right place.Fri, 22 May 2015 11:20:27 -0400https://www.toptal.com/front-end/what-is-bootstrap-a-short-tutorial-on-the-what-why-and-how
what-is-bootstrap-a-short-tutorial-on-the-what-why-and-howTOMISLAV BACINGER, SOFTWARE ENGINEER @ TOPTALBrace Yourselves Android Developers, A New Android Compiler Is ComingWith Dalvik out of the picture, many people expected Google's new 64-bit capable ART runtime to stick around for years, which it probably will, but it will get a major overhaul in the near future. In addition to offering support for 64-bit hardware, ART also introduced ahead-of-time (AOT) compilation, while Dalvik was a just-in-time (JIT) compiler.
Throw in new 10-core ARM processors and Intel mobile processors based on three different architectures, and you end up with spicy, Google-style hardware gumbo.Thu, 21 May 2015 11:22:43 -0400https://www.toptal.com/android/brace-yourselves-new-android-compiler-is-coming
brace-yourselves-new-android-compiler-is-comingNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALDeploy Web Applications Automatically Using GitHub WebhooksDeploying instances of a web application to one or more servers manually can often be a monotonous process, and take up a significant amount of your time. With little effort, it is possible to automate the process of deploying your web application with almost zero human intervention. This article outlines a simple approach to automating web application deployments using GitHub webhooks, buildpacks, and Procfiles.Tue, 19 May 2015 10:11:13 -0400https://www.toptal.com/devops/deploy-web-applications-automatically-using-github-webhooks
deploy-web-applications-automatically-using-github-webhooksMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALVideo Game Physics Tutorial - Part III: Constrained Rigid Body SimulationIn Part I of this three-part series, we saw how the free motion of rigid bodies can be simulated. In Part II, we saw how to make bodies aware of each other through collision and proximity tests. Up to this point, however, we still have not seen how to make objects truly interact with each other. The final step to simulating realistic, solid objects, is to apply constraints, defining restrictions on the motion of rigid bodies.
In this article, we'll discuss equality constraints and inequality constraints. We'll describe them first in terms of a force-based approach, where corrective forces are computed, and then in terms of an impulse-based approach, where corrective velocities are computed instead. Finally, we'll go over some clever tricks to eliminate unnecessary work and speed up computation.Fri, 15 May 2015 09:53:21 -0400https://www.toptal.com/game/video-game-physics-part-iii-constrained-rigid-body-simulation
video-game-physics-part-iii-constrained-rigid-body-simulationNILSON SOUTO, SOFTWARE ENGINEER @ TOPTALData Mining for Predictive Social Network AnalysisAnalysts have come to recognize social network data as a virtual treasure trove of information for sensing public opinion trends and groundswells of support. In this article, Toptal Engineer Elder Santos describes the techniques he employed for a proof-of-concept that effectively analyzed Twitter Trend Topics to predict, as a sample test case, regional voting patterns in the 2014 Brazilian presidential election.Thu, 14 May 2015 11:10:58 -0400https://www.toptal.com/data-science/social-network-data-mining-for-predictive-analysis
social-network-data-mining-for-predictive-analysisELDER SANTOS, SOFTWARE ENGINEER @ TOPTALPower Efficient Home Offices Can Save Money And Polar BearsMost of us work from home offices, so we use cheaper household electricity and enjoy better prices than businesses in many parts of the world. Since we don’t commute or drive to work each morning, we already save a bit of money and reduce our carbon footprint. However, there is always room for improvement. Tue, 12 May 2015 09:34:53 -0400https://www.toptal.com/remote/power-efficient-home-offices-can-save-money-and-polar-bears
power-efficient-home-offices-can-save-money-and-polar-bearsNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALAdvanced Tactics for Highly Collaborative, Remote TeamsAny time you’re physically out of the office or working with someone who isn’t next to you, you’re working remotely. At Toptal, working remotely is a productive and efficient reality that we evangelize to our clients, while practicing what we preach.
In this article, Toptal COO Breanden Beneschott shares great tactics in operating highly collaborative remote teams.Mon, 11 May 2015 09:10:47 -0400https://www.toptal.com/remote/advanced-tactics-for-highly-collaborative-remote-teams
advanced-tactics-for-highly-collaborative-remote-teamsBREANDEN BENESCHOTT, CO-FOUNDER / COO @ TOPTALBecome A World Class Designer By Making The Globe Your OfficeGreat design has a knack of perfectly guiding us to a delightful result. It encompasses a whole experience as we interact with a product or service. Great design appears simple, but it’s only through a deep understanding of people and deciding to challenge complexity that great design is achieved. Travel helps us unravel that complexity by giving fresh perspective to ideas, as well as helping us experience issues that affect the world on a global scale - or even those tiny details which we might miss out on while sitting in a regular office.Fri, 08 May 2015 09:47:42 -0400https://www.toptal.com/designers/ux/become-a-world-class-designer-by-making-the-globe-your-office
become-a-world-class-designer-by-making-the-globe-your-officeDANIELLE REID, FREELANCE DESIGNER @ TOPTALTop 8 Most Common Mistakes That Backbone.js Developers MakeBackbone.js equips the developer with an array of tools that are minimal but extremely flexible. This gives developers the option to design the applications the way they want, but also introduces a number of way things can go wrong. This article outlines a few common mistakes that Backbone.js developers can make, and how they may avoid them.Thu, 07 May 2015 10:54:13 -0400https://www.toptal.com/backbone-js/top-8-common-backbone-js-developer-mistakes
top-8-common-backbone-js-developer-mistakesMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALGetting the Most Out of Your PHP Log Files: A Practical GuideLog files may very well be one of the most underestimated and underutilized tools at a developer's disposal. Beyond their value for debugging, with a bit of creativity and forethought, logs files can be leveraged to serve as a valuable source of usage information and analytics. In this article, In this article, Toptal engineer Ilya Sanosyan provides a practical guide to maximizing the value we get from our logs.Wed, 06 May 2015 05:53:45 -0400https://www.toptal.com/php/getting-the-most-out-of-your-log-files-a-practical-guide
getting-the-most-out-of-your-log-files-a-practical-guideILYA SANOSYAN, SOFTWARE ENGINEER @ TOPTALWindows 10 Development: Addressing Old Problems And Opening New Doors For DevelopersWindows 10 represents a departure from Microsoft’s traditional OS strategy. It’s not just a new operating system, it’s an automatic and free update for millions of Windows 8.1 devices. It’s also designed to address a number of user complaints related to the Windows 8.x UI. The changes aren’t just skin deep, as Windows 10 is not a mere redesign with a new UI and fancier apps; it might even mark the start of a new era for Microsoft, and in this post I will explain why.
Tue, 05 May 2015 11:42:49 -0400https://www.toptal.com/windows/windows-10-addresses-old-problems-and-opens-new-doors-for-developers
windows-10-addresses-old-problems-and-opens-new-doors-for-developersNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALTop 18 Most Common Mistakes that AngularJS Developers MakeAngularJS is a very powerful framework. It is the third most starred repository on GitHub. It is not difficult to start using, but the goals that it is intended to accomplish demand comprehension. No longer can we ignore memory consumption, because it will not reset on navigation anymore. This is the vanguard of web development. Let’s embrace it!Mon, 04 May 2015 09:52:52 -0400https://www.toptal.com/angular-js/top-18-most-common-angularjs-developer-mistakes
top-18-most-common-angularjs-developer-mistakesMICHAL MIKOLAJCZYK, FREELANCE SOFTWARE ENGINEER @ TOPTALAzure Tutorial: Predicting Gas Prices Using Azure Machine Learning StudioMachine learning has changed the way we deal with data. Data driven problems, that are difficult to solve using standard methods, can often be tackled with much more ease using machine learning algorithms. In this article, we will explore Azure Machine Learning features and capabilities through solving one of the problems that we face in our everyday lives.Thu, 30 Apr 2015 10:30:39 -0400https://www.toptal.com/machine-learning/predicting-gas-prices-using-azure-machine-learning-studio
predicting-gas-prices-using-azure-machine-learning-studioIVAN MATEC, FREELANCE SOFTWARE ENGINEER @ TOPTALThe New Wave of EntrepreneurshipWe will see technology push its way forward and society will be the better for it. The exciting question is who will lead this wave of disruption?
Wed, 29 Apr 2015 08:18:32 -0400https://www.toptal.com/it/the-new-wave-of-entrepreneurship
the-new-wave-of-entrepreneurshipMATT SWANSON, MANAGING PARTNER @ SILICON VALLEY SOFTWARE GROUPTop 10 Most Common C++ Mistakes That Developers MakeC++ is a general purpose programming language that offers great flexibility when it comes to system programming and application development. The language, however, comes with some pitfalls requiring attention from developers to ensure quality programming. This article explains how ten of the most common C++ developer mistakes can be avoided.Tue, 28 Apr 2015 11:00:34 -0400https://www.toptal.com/c-plus-plus/top-10-common-c-plus-plus-developer-mistakes
top-10-common-c-plus-plus-developer-mistakesVATROSLAV BODROZIC, FREELANCE SOFTWARE ENGINEER @ TOPTALAndroid TV Development – Big Screens Are Coming, Get Ready!Google wants to bring Android to everything from phones and watches, to cars and smart television sets. Unlike Google TV, Android TV is much closer to standard Android. It runs Android 5.0 (at least in the initial launch version) and can be used on new TVs, as well as on standalone devices.
Android TV is not just about improving the way people consume TV content, it’s more about changing the way they do it.Fri, 24 Apr 2015 11:46:04 -0400https://www.toptal.com/android/developing-for-android-tv-big-screens-are-coming-get-ready
developing-for-android-tv-big-screens-are-coming-get-readyNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALBusiness Intelligence Platform: Tutorial Using MongoDB Aggregation PipelineIn today’s data driven world, researches are busy answering interesting questions by churning through huge volumes of data. Some obvious challenges they face are due the sheer size of dataset that they have to deal with. In this article, we take a peek at a simple business intelligence platform implemented on top of the MongoDB Aggregation Pipeline.Thu, 23 Apr 2015 13:25:10 -0400https://www.toptal.com/mongodb/business-intelligence-platform-using-mongodb-aggregation-pipeline
business-intelligence-platform-using-mongodb-aggregation-pipelineAVINASH KAZA, FREELANCE SOFTWARE ENGINEER @ TOPTALSmartwatch Development: Are Smartwatches Worth The Trouble?While the Apple Watch is on track to be a commercial success for Apple and its shareholders, technologists are still not entirely convinced smartwatches have what it takes to conquer the market, at least not yet.
What does this mean for developers? What are the implications for other smartwatch platforms and companies behind them?Wed, 22 Apr 2015 12:06:28 -0400https://www.toptal.com/apple/developing-for-smartwatches-is-it-worth-the-trouble
developing-for-smartwatches-is-it-worth-the-troubleNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALFull Text Search of Dialogues with Apache Lucene: A TutorialApache Lucene is a powerful Java library used for implementing full-text search on a corpus of text. With its wide array of configuration options and customizability, it is possible to tune Apache Lucene specifically to the corpus at hand - improving both search quality and query capability.
This article gives us a glimpse of the simplicity and ease of customization of the Apache Lucene analysis pipeline.Tue, 21 Apr 2015 11:52:17 -0400https://www.toptal.com/database/full-text-search-of-dialogues-with-apache-lucene
full-text-search-of-dialogues-with-apache-luceneDOUG SPARLING, FREELANCE SOFTWARE ENGINEER @ TOPTALA Tutorial on iOS 8 App ExtensionsiOS 8 introduced a new concept called App Extensions. This new feature did not break down the walls between the applications, but it opened a few doors providing gentle yet tangible contact between some apps. The latest update gave us an option to customize the iOS ecosystem, and we are eager to see this path opening up as well.Mon, 20 Apr 2015 11:45:36 -0400https://www.toptal.com/ios/ios-8-app-extensions
ios-8-app-extensionsMARIJA EFREMOVA, FREELANCE SOFTWARE ENGINEER @ TOPTALAn Introduction to JavaScript Automation with GulpDevelopers often automate certain repetitive and tedious tasks to save time as well as to stay focused on the task at hand.
This article demonstrates how simple and easy it is to use Gulp as a build tool.Fri, 17 Apr 2015 11:47:27 -0400https://www.toptal.com/nodejs/an-introduction-to-automation-with-gulp
an-introduction-to-automation-with-gulpANTONIOS MINAS, FREELANCE SOFTWARE ENGINEER @ TOPTALSVG Text Tutorial: Text Annotation on the WebTexts are an integral part of user interfaces. In many cases, text annotation plays a vital role in grabbing the user’s attention or allowing the user to decorate and highlight the content they produce.
In this article, we walk through the ins and outs of an open source JavaScript library built for annotating texts on the web.Tue, 14 Apr 2015 11:48:37 -0400https://www.toptal.com/javascript/annotating-texts-on-the-web-using-svg
annotating-texts-on-the-web-using-svgANTON SHKURATOV, FREELANCE SOFTWARE ENGINEER @ TOPTALToptal’s Selection Of Best Developer BlogsYou are what you read – and most Toptal members and blog subscribers are software developers. So what do you read? Where do professional developers get the latest information about how their peers work and think?
Today, we will be taking a look at a small selection of popular developer blogs frequented by Toptal developers. We’re counting on you (our readers) to expand the list in the comment section.Fri, 10 Apr 2015 11:59:10 -0400https://www.toptal.com/it/toptal-s-selection-of-top-developer-blogs
toptal-s-selection-of-top-developer-blogsNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALAndroid Developer’s Guide to the Google Location Services APILocation-based applications on our mobile devices have changed the way we interact with mobile technology. The list of these applications is extensive and has had a major impact on our lives.
This article walks us through a step-by-step tutorial of how to determine the location of an Android device using Google Location Services API.Wed, 08 Apr 2015 11:57:50 -0400https://www.toptal.com/android/android-developers-guide-to-google-location-services-api
android-developers-guide-to-google-location-services-apiDANNY TREJO, FREELANCE SOFTWARE ENGINEER @ TOPTALAndroid Testing Tutorial: Unit Testing like a True Green DroidThe extremely diverse and fragmented Android ecosystem poses certain challenges when it comes to testing. In this article, we take a look at some approaches that can be effective with tackling these challenges and ease the process of writing and automating tests.Tue, 07 Apr 2015 12:05:09 -0400https://www.toptal.com/android/testing-like-a-true-green-droid
testing-like-a-true-green-droidMARKO VITAS, FREELANCE SOFTWARE ENGINEER @ TOPTALBiometric Security – The Key To Passwordless Authentication Or A Fad?Passwordless authentication has been the Holy Grail of security for years, but progress has been painfully slow. Until a few years ago, the technology to implement passwordless logins on a grand scale simply wasn’t available.
However, the industry juggernaut is slowly but surely changing this. There are a few technical, legal and even ethical considerations to take into account, but be as it may, biometric, passwordless authentication is here to stay.Fri, 03 Apr 2015 11:46:15 -0400https://www.toptal.com/it/biometrics-the-key-to-paswordless-security-or-a-fad
biometrics-the-key-to-paswordless-security-or-a-fadNERMIN HAJDARBEGOVIĆ, TECHNICAL EDITOR @ TOPTALA Digital Nomad Adventure: Traveling with Hacker ParadiseThe nomadic lifestyle is not a vacation. There remains an impermeable barrier between the work world within the computer, and the real world outside of it. Yet there is so much intellectual stimulation and inspiration to be found on the road, it's a genuine shame that we can’t build on it in the work we do, and with those we find around us. Making that dream a reality is the goal of Casey Rosengren and Alexey Komissarouk, founders of Hacker Paradise.Thu, 02 Apr 2015 11:43:56 -0400https://www.toptal.com/freelance/a-digital-nomad-adventure-traveling-with-hacker-paradise
a-digital-nomad-adventure-traveling-with-hacker-paradiseNICK MCCREA, TECHNICAL EDITOR @ TOPTALToptal and Facebook - Creating a Global Virtual OfficeToptal has taken its place as one of the strategic partners in Facebook's effort to connect the world. Our vision of a distributed and office-less company with developers spread all over the globe has proven to be an amazing match to Facebook’s attempts to connect people worldwide.Wed, 01 Apr 2015 10:47:58 -0400https://www.toptal.com/oculus-rift/toptal-and-facebook-creating-a-global-virtual-office
toptal-and-facebook-creating-a-global-virtual-officeDEMIR SELMANOVIC, LEAD TECHNICAL EDITOR @ TOPTALLearn Markdown: The Writing Tool for Software DevelopersFace it, you're a software engineer, not a graphic designer. When you need to write a manual, technical document, or report, you just want to write it and be done with it. Especially for you as a software engineer -- who is not put off by needing to learn and use some basic syntax conventions -- Markdown can be the path of least resistance between what you want to write and getting it written.Tue, 31 Mar 2015 11:01:48 -0400https://www.toptal.com/web/markdown-the-writing-tool-for-software-developers
markdown-the-writing-tool-for-software-developersSTORM FARRELL, SOFTWARE ENGINEER @ TOPTALWhat To Look Out For In Software Development NDAsYou might presume that Non-Disclosure Agreements (NDAs) have been widely accepted in the tech world as a means to protect sensitive and potentially valuable information from theft and abuse. Not so fast.
Jones Day Corporate Associate Bret J. Stancil examines software developer NDAs for Toptal blog followers in a must-read post for anyone faced with the prospect of signing an NDA.Fri, 27 Mar 2015 12:06:30 -0400https://www.toptal.com/it/what-to-look-out-for-in-software-developer-ndas
what-to-look-out-for-in-software-developer-ndasBRET J. STANCIL, CORPORATE ASSOCIATE @ JONES DAYThe Top 10 Most Common Mistakes That Node.js Developers MakeNode.js, the cross-platform runtime environment, has seen its fair share of praise and criticism for what it offers to developers. Often, reasons for such criticisms are rooted in how developers use/misuse the language.
This article explores ten common mistakes that Node.js developers make and how to avoid them.Thu, 26 Mar 2015 12:05:19 -0400https://www.toptal.com/nodejs/top-10-common-nodejs-developer-mistakes
top-10-common-nodejs-developer-mistakesMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALMeteor Tutorial: Building Real-Time Web Applications with MeteorMeteor makes developing web applications simple. It’s easy to learn, and comes with a pre-built arsenal of powerful functionalities. In this article, we will walk through a detailed tutorial for building a simple real-time web application.Wed, 25 Mar 2015 12:02:31 -0400https://www.toptal.com/meteor/building-real-time-web-applications-with-meteor
building-real-time-web-applications-with-meteorPETER ROGERS, FREELANCE SOFTWARE ENGINEER @ TOPTALIntroduction to Apache Spark with Examples and Use CasesIn this post, Toptal engineer Radek Ostrowski introduces Apache Spark -- fast, easy-to-use, and flexible big data processing. Billed as offering "lightning fast cluster computing", the Spark technology stack incorporates a comprehensive set of capabilities, including SparkSQL, Spark Streaming, MLlib (for machine learning), and GraphX. Spark may very well be the "child prodigy of big data", rapidly gaining a dominant position in the complex world of big data processing.Mon, 23 Mar 2015 12:03:48 -0400https://www.toptal.com/spark/introduction-to-apache-spark
introduction-to-apache-sparkRADEK OSTROWSKI, SOFTWARE ENGINEER @ TOPTALJSON Web Token Tutorial: An Example in Laravel and AngularJSAuthentication is one of the most important parts of any web application. For decades, cookies and server-based authentication was the easiest solution. However, handling authentication in modern Mobile and Single Page Applications can be tricky and demand a better approach. One of the best known solutions to authentication problems for APIs is the JSON Web Token (JWT).Thu, 19 Mar 2015 12:17:08 -0400https://www.toptal.com/web/cookie-free-authentication-with-json-web-tokens-an-example-in-laravel-and-angularjs
cookie-free-authentication-with-json-web-tokens-an-example-in-laravel-and-angularjsTINO TKALEC, FREELANCE SOFTWARE ENGINEER @ TOPTALPython Multithreading Tutorial: Concurrency and ParallelismThreading is just one of the many ways concurrent programs can be built. In this article, we will take a look at threading and a couple of other strategies in building concurrent programs in Python, as well as discuss how each is suitable in different scenarios.Wed, 18 Mar 2015 11:56:43 -0400https://www.toptal.com/python/beginners-guide-to-concurrency-and-parallelism-in-python
beginners-guide-to-concurrency-and-parallelism-in-pythonMARCUS MCCURDY, FREELANCE SOFTWARE ENGINEER @ TOPTALIntroduction to OpenGL: A 3D Text Rendering TutorialOver time, the race between DirectX and OpenGL has caused these technologies to become more accessible to developers, along with better documentation and an easier process of getting started with them. This tutorial article shows you how to build a 3D modeling application that generates and renders 3D texts from user inputs.Thu, 12 Mar 2015 11:42:58 -0400https://www.toptal.com/opengl/introduction-to-opengl-a-quick-tutorial
introduction-to-opengl-a-quick-tutorialTIMOFEY LONCHAKOV, FREELANCE SOFTWARE ENGINEER @ TOPTALMeet Volt, A Promising Ruby Framework For Dynamic ApplicationsIn an attempt to make web applications a lot more dynamic, front-end Javascript frameworks like Angular.js, Backbone.js and Ember.js have gained a lot of popularity. However, these frameworks often require a back-end application to be useful, so they are used in conjunction with web frameworks like Ruby on Rails and Django.
On the other hand, Volt is capable of managing the back-end and a dynamic front-end; since both functionalities are tightly integrated into its core.Wed, 11 Mar 2015 12:02:09 -0400https://www.toptal.com/ruby/meet-volt-a-promising-ruby-framework-for-dynamic-applications
meet-volt-a-promising-ruby-framework-for-dynamic-applicationsAMAURY ANDRES PENICHE GONZALEZ, FREELANCE SOFTWARE ENGINEER @ TOPTALNvidia Shield - A Different Take On Android Gaming ConsolesDescribing Nvidia Shield as a mere Android console would not do it justice. The console relies heavily on streaming and cloud computing, so it shouldn't not be viewed as another standalone device.
Nvidia sees Shield as Netflix for games, as a comprehensive Gaming-as-a-Service (GaaS) platform. While it's still part of the Android ecosystem, Shield could be bad news for some Android game developers, but it also creates a range of new and exciting opportunities. Tue, 10 Mar 2015 12:02:30 -0400https://www.toptal.com/android/nvidia-shield-a-different-take-on-android-gaming
nvidia-shield-a-different-take-on-android-gamingNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALApplication Development with Rapid Application Development Framework AllcountJSAllcountJS is an emerging open source framework built with rapid application development in mind. It is based on the idea of declarative application development using JSON-like configuration code that describes the structure and behavior of the application.
In this article, we walk through a step-by-step tutorial for prototyping a data oriented web application using AllcountJS.Wed, 04 Mar 2015 10:31:24 -0500https://www.toptal.com/nodejs/rapid-application-development-with-allcountjs
rapid-application-development-with-allcountjsPAVEL TIUNOV, FREELANCE SOFTWARE ENGINEER @ TOPTALAre We Creating An Insecure Internet of Things (IoT)? Security Challenges and ConcernsAfter a couple of years of bullish forecasts and big promises, security seems to be the biggest IoT concern. The first few weeks of 2015 were not kind to this emerging industry, and most of the negative press revolved around security.
Was it justified? Was it just “fear, uncertainty and doubt” (FUD), brought about by years of hype? It was bit of both; although some issues may have been overblown, the problems are very real, indeed.Tue, 03 Mar 2015 11:10:49 -0500https://www.toptal.com/it/are-we-creating-an-insecure-internet-of-things
are-we-creating-an-insecure-internet-of-thingsNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALVideo Game Physics Tutorial - Part II: Collision Detection for Solid ObjectsIn Part I of this three-part series on game physics, we explored rigid bodies and their motions. In that discussion, however, objects did not interact with each other. Without some additional work, the simulated rigid bodies can go right through each other.
In Part II, we will cover the collision detection step, which consists of finding pairs of bodies that are colliding among a possibly large number of bodies scattered around a 2D or 3D world.Mon, 02 Mar 2015 11:11:27 -0500https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects
video-game-physics-part-ii-collision-detection-for-solid-objectsNILSON SOUTO, FREELANCE SOFTWARE DEVELOPER @ TOPTALBest Programming Editors? A Never Ending Battle With No Clear WinnerSince programmers spend so much time using their favorite editor, they become extremely good at it, and are reluctant to learn to use any other. Even if offered a better editor for some specific task, the skilled programmer can get their existing editor to do the task just well enough, and therefore sees no need to learn how to use a new one.
This is what compelled me to try out a number of different editors and make the transition as easy as possible; I hope my experience saves you time and effort if you find yourself in the same situation.Fri, 27 Feb 2015 11:23:22 -0500https://www.toptal.com/it/programming-editors-a-never-ending-battle-with-no-clear-winner
programming-editors-a-never-ending-battle-with-no-clear-winnerPHILIP R BRENAN, FREELANCE SOFTWARE ENGINEER @ TOPTALHow Not To Manage Your Remote Team of DevelopersWhen entering the remote developers’ world, the biggest obstacle that managers must overcome is to change their mindset by accepting that the developer will not be in plain sight, and where they can manage and follow the work being done.
This new paradigm requires businesses to implement a number of mechanisms to track progress and avoid a redundant workload. Such mechanisms will help both manager and developer be more productive, which is in everyone’s best interest.Wed, 25 Feb 2015 10:59:01 -0500https://www.toptal.com/remote/how-not-to-manage-your-remote-developers
how-not-to-manage-your-remote-developersSENAD BISER, FREELANCE SOFTWARE ENGINEER @ TOPTALSurvey of the Best Online Mapping Tools for Web Developers: The Roadmap to RoadmapsMaking your own maps is not a big undertaking anymore, but for developers not familiar with web mapping, the agony of choice might be intimidating. You want to make maps, but don't know where to start nor which tools to use. I am here to help.
Here, I'll discuss several of the best available tools, providing a brief overview of each, along with code examples, and weighing the pros and cons.Tue, 24 Feb 2015 11:14:27 -0500https://www.toptal.com/web/the-roadmap-to-roadmaps-a-survey-of-the-best-online-mapping-tools
the-roadmap-to-roadmaps-a-survey-of-the-best-online-mapping-toolsTOMISLAV BACINGER, FREELANCE SOFTWARE DEVELOPER @ TOPTALApache Cordova Tutorial: Developing Mobile Applications with CordovaMobile applications are creeping in. Developing for each mobile platform can be an exhaustive task, especially if resources are limited. This is where Apache Cordova comes in handy by providing a way to develop mobile applications using standard web technologies - HTML5, CSS3 and JavaScript. This article explores how one can get started with Apache Cordova and build mobile applications targeted at a wide range of mobile devices.Fri, 20 Feb 2015 13:10:27 -0500https://www.toptal.com/mobile/developing-mobile-applications-with-apache-cordova
developing-mobile-applications-with-apache-cordovaFILIP PETKOVSKI, FREELANCE SOFTWARE ENGINEER @ TOPTALBuggy Java Code: The Top 10 Most Common Mistakes That Java Developers MakeJava, 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.Wed, 18 Feb 2015 11:04:51 -0500https://www.toptal.com/java/top-10-most-common-java-development-mistakes
top-10-most-common-java-development-mistakesMIKHAIL SELIVANOV, FREELANCE SOFTWARE ENGINEER @ TOPTALWhy I Decided To Embrace LaravelLaravel designers didn't spend too much time reinventing the wheel. A lot of solutions and practices are transferred from other frameworks.
The decision to embrace a new PHP framework should not be taken lightly, so let's examine why considering Laravel may be worth your time and effort. Toptal freelance software engineer Alex Rytov explains what made him take the plunge and why he believes Laravel has a bright future.Thu, 12 Feb 2015 11:36:25 -0500https://www.toptal.com/laravel/why-i-decided-to-embrace-laravel
why-i-decided-to-embrace-laravelOLEKSII RYTOV, FREELANCE SOFTWARE ENGINEER @ TOPTALLogstash Tutorial: Using Logstash to Streamline Email NotificationsToptal 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.Wed, 11 Feb 2015 11:45:28 -0500https://www.toptal.com/java/using-logstash-to-streamline-email-notifications
using-logstash-to-streamline-email-notificationsJURGENS DU TOIT, FREELANCE SOFTWARE ENGINEER @ TOPTALInstalling Django on IIS: A Step-by-Step TutorialAlthough 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.Tue, 10 Feb 2015 11:26:30 -0500https://www.toptal.com/django/installing-django-on-iis-a-step-by-step-tutorial
installing-django-on-iis-a-step-by-step-tutorialIVAN VORAS, FREELANCE SOFTWARE ENGINEER @ TOPTALBuilding Business Rules Engines with Drools - Power to the SMEopleA 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.Mon, 09 Feb 2015 12:32:18 -0500https://www.toptal.com/java/rules-engines-power-to-the-smeople
rules-engines-power-to-the-smeopleJEFF MARIN, FREELANCE SOFTWARE ENGINEER @ TOPTALPredicting Likes: Inside A Simple Recommendation Engine's AlgorithmsThe 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 will explore one of the many ways of building a recommendation engine that is both simple to implement and understand.Wed, 04 Feb 2015 11:17:00 -0500https://www.toptal.com/algorithms/predicting-likes-inside-a-simple-recommendation-engine
predicting-likes-inside-a-simple-recommendation-engineMAHMUD RIDWAN, TECHNICAL EDITOR @ TOPTALRuby Concurrency and Parallelism: A Practical TutorialA 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.Tue, 03 Feb 2015 11:01:06 -0500https://www.toptal.com/ruby/ruby-concurrency-and-parallelism-a-practical-primer
ruby-concurrency-and-parallelism-a-practical-primerEQBAL QURAN, SOFTWARE ENGINEER @ TOPTALHow GWT Unlocks Augmented Reality in Your BrowserIn 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.Tue, 03 Feb 2015 10:55:54 -0500https://www.toptal.com/augmented-reality/augmented-reality-in-browser-gwt
augmented-reality-in-browser-gwtALBERTO MANCINI, FREELANCE SOFTWARE ENGINEER @ TOPTALShazam It! Music Recognition Algorithms, Fingerprinting, and ProcessingYou 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.Mon, 02 Feb 2015 11:42:22 -0500https://www.toptal.com/algorithms/shazam-it-music-processing-fingerprinting-and-recognition
shazam-it-music-processing-fingerprinting-and-recognitionJOVAN JOVANOVIC, FREELANCE SOFTWARE ENGINEER @ TOPTALMicrosoft HoloLens Review - Bridging The Gap Between AR And VRMicrosoft 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).Fri, 30 Jan 2015 11:00:14 -0500https://www.toptal.com/virtual-reality/microsoft-hololens-bridging-the-gap-between-ar-and-vr
microsoft-hololens-bridging-the-gap-between-ar-and-vrNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALMIDI Tutorial: Creating Browser-Based Audio Applications Controlled by MIDI HardwareModern 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.Wed, 28 Jan 2015 10:59:49 -0500https://www.toptal.com/web/creating-browser-based-audio-applications-controlled-by-midi-hardware
creating-browser-based-audio-applications-controlled-by-midi-hardwareSTÉPHANE P. PÉRICAT, SOFTWARE ENGINEER @ TOPTALNeedle in a Haystack: A Nifty Large-Scale Text Search Algorithm TutorialWhen 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?Tue, 27 Jan 2015 11:16:27 -0500https://www.toptal.com/algorithms/needle-in-a-haystack-a-nifty-large-scale-text-search-algorithm
needle-in-a-haystack-a-nifty-large-scale-text-search-algorithmAHMED AL-AMIR, SOFTWARE ENGINEER @ TOPTALMaking an HTML5 Canvas Based Game: A Tutorial Using AngularJS and CreateJSThere 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.Mon, 26 Jan 2015 12:16:35 -0500https://www.toptal.com/web/making-html5-canvas-based-game-with-angularjs-and-createjs
making-html5-canvas-based-game-with-angularjs-and-createjsAVINASH KAZA, SOFTWARE ENGINEER @ TOPTALRemembering Matthew OsborneCommunity is made up of individuals and one of our own, Matthew Osborne, has passed away unexpectedly. We want to express our deepest condolences to Matthew's family.Fri, 23 Jan 2015 11:47:36 -0500https://www.toptal.com/web/remembering-matthew-osborne
remembering-matthew-osborneSTEPHEN TOULOUSE, COMMUNITY LEADER @ TOPTALVideo Game Physics Tutorial - Part I: An Introduction to Rigid Body DynamicsSimulating 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.Thu, 22 Jan 2015 10:54:22 -0500https://www.toptal.com/game/video-game-physics-part-i-an-introduction-to-rigid-body-dynamics
video-game-physics-part-i-an-introduction-to-rigid-body-dynamicsNILSON SOUTO, SOFTWARE ENGINEER @ TOPTALAdvanced Java Class Tutorial: A Guide to Class ReloadingIn 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.Thu, 15 Jan 2015 11:22:00 -0500https://www.toptal.com/java/java-wizardry-101-a-guide-to-java-class-reloading
java-wizardry-101-a-guide-to-java-class-reloadingLÊ ANH QUÂN, SOFTWARE ENGINEER @ TOPTALFrom the Ground Up: How I Built the Developer's Dream KeyboardGoing 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.Tue, 13 Jan 2015 10:59:00 -0500https://www.toptal.com/embedded/from-the-ground-up-how-i-built-the-developers-dream-keybooard
from-the-ground-up-how-i-built-the-developers-dream-keybooardLÁSZLÓ MONDA, SOFTWARE ENGINEER @ TOPTALBlockchain Technology Explained: Powering BitcoinBitcoin 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.Mon, 12 Jan 2015 11:24:32 -0500https://www.toptal.com/bitcoin/blockchain-technology-powering-bitcoin
blockchain-technology-powering-bitcoinNERMIN HAJDARBEGOVIC, TECHNICAL EDITOR @ TOPTALContext Aware Applications and Complex Event Processing ArchitectureSince almost all smartphones today are equipped with location sensors, motion sensors, bluetooth, and wifi, today's mobile apps can use context awareness to dramatically increase their capabilities and value. This article walks you through building a context aware app that employs complex event processing.Wed, 07 Jan 2015 11:06:34 -0500https://www.toptal.com/mobile/context-aware-apps-and-complex-event-processing
context-aware-apps-and-complex-event-processingRAHUL DEVASKAR, SOFTWARE ENGINEER @ TOPTALA Tutorial for Reverse Engineering Your Software's Private API: Hacking Your CouchReverse engineering and hacking are usually related to malicious activities that result in sleepless nights of engineers responsible for system maintenance.
Reverse engineering is a tool that we can utilize to find the flaws and improve our software in many aspects. This article shows us how to use these techniques to learn more about different implementations of web API.Tue, 06 Jan 2015 10:30:26 -0500https://www.toptal.com/back-end/reverse-engineering-the-private-api-hacking-your-couch
reverse-engineering-the-private-api-hacking-your-couchNIKOLAY DERKACH, SOFTWARE ENGINEER @ TOPTALReact.js View State Management TutorialOne of the biggest and most common problems in front-end web development is state management. A developer is constantly focused on keeping the state object in sync with its view and the DOM representation. Users can interact with the application in many ways and it's a big task to provide a clean transition from one view state to another.
We will see how using React JavaScript library can help us reduce application complexity and offload UI transitions from our application.Mon, 29 Dec 2014 11:36:02 -0500https://www.toptal.com/react/managing-view-state-with-react
managing-view-state-with-reactLEONARDO ANDRÉS GARCIA CRESPO, SOFTWARE DEVELOPER @ TOPTALThe Publish-Subscribe Pattern on Rails: An Implementation TutorialThe publish-subscribe pattern] (or pub/sub, for short) is a messaging pattern where senders of messages (publishers), do not program the messages to be sent directly to specific receivers (subscribers). Instead, the programmer "publishes" messages (events), without any knowledge of any subscribers there may be.
This article provides insight in how to use the pub/sub pattern, in Rails, to communicate messages between different system components without these components knowing anything about each other's identity.Mon, 15 Dec 2014 11:09:21 -0500https://www.toptal.com/ruby-on-rails/the-publish-subscribe-pattern-on-rails
the-publish-subscribe-pattern-on-railsAHMED ABDELRAZZAK, RUBY ON RAILS DEVELOPER @ TOPTALBuilding Real-Time, Multi-Platform Mobile Applications: Examples Using Ionic Framework and FirebaseThis article provides step by step guide for building hybrid multi-platform real-time mobile application using the Ionic Framework and the Firebase.Sat, 13 Dec 2014 08:55:47 -0500https://www.toptal.com/front-end/building-multi-platform-real-time-mobile-applications-using-ionic-framework-and-firebase
building-multi-platform-real-time-mobile-applications-using-ionic-framework-and-firebaseAVINASH KAZA, SOFTWARE DEVELOPER @ TOPTALA Map to Perfection: Using D3.js to Make Beautiful Web MapsData Driven Documents, or D3.js, is an awesome data visualization library. In this article, I'll discuss one particularly compelling application of D3.js: map making. We'll go through the common challenges of building a useful and informative web map, and show how in each case, D3.js gives you everything you need to make your map look and feel beautiful.Tue, 09 Dec 2014 10:02:59 -0500https://www.toptal.com/javascript/a-map-to-perfection-using-d3-js-to-make-beautiful-web-maps
a-map-to-perfection-using-d3-js-to-make-beautiful-web-mapsTOMISLAV BACINGER, SOFTWARE ENGINEER @ TOPTALOne Size Fits Some: A Guide to Responsive Web Design Image SolutionsAs mobile and tablet devices come closer to achieving final world domination, web technology is in a race to accommodate the ever-growing number screen sizes. However, devising tools to meet the challenges of this phenomenon brings a whole new set of problems, with one of the latest buzzwords to emerge being "responsive web".Fri, 05 Dec 2014 02:59:16 -0500https://www.toptal.com/designers/responsive/one-size-fits-some-an-examination-of-responsive-image-solutions
one-size-fits-some-an-examination-of-responsive-image-solutionsKADO DAMBALL, SOFTWARE ENGINEER @ TOPTALTips for Developing an Android App: My Lessons LearnedThis article provides an overview on building a great Android application, from defining an idea to releasing an application to the store. Toptal developer Ivan Dimoski gives us a chance to learn from his experience in making Ooshies, an Android Live Wallpaper designed to give you a hug and make you feel loved each time you interact with your Android device.Thu, 04 Dec 2014 08:45:18 -0500https://www.toptal.com/android/making-an-android-app-lessons-learned
making-an-android-app-lessons-learnedIVAN DIMOSKI, ANDROID DEVELOPER @ TOPTALApple Watch in a Nutshell: A Feature Introduction for iOS DevelopersApple has released a fully functional WatchKit and SDK that enables iOS developers with all the tools to start building their Apple Watch applications.
This article provides quick overview of the Apple Watch functionalities from a developers perspective.Tue, 02 Dec 2014 08:33:54 -0500https://www.toptal.com/ios/apple-watch-in-a-nutshell
apple-watch-in-a-nutshellANTONIO BELLO, IOS DEVELOPER @ TOPTALA Design Workflow Tutorial for Developers: Deliver Better UI/UX On TimeWorking with a great designer can be an invaluable asset to any team. With clear communication channels, and free-flowing co-operation, the designer should give you everything you need to speed up the building process and limit questions and confusion as much as possible.
What can you, the developer, do to ensure that the product you have built is delivered in a timely manner without sacrificing the quality of the user interface and user experience?Fri, 21 Nov 2014 09:56:05 -0500https://www.toptal.com/designers/freelance/developer-designer-workflows-for-better-ui-ux
developer-designer-workflows-for-better-ui-uxLUBOS VOLKOV, LEAD PRODUCT DESIGNER @ TOPTALSeparation Anxiety: A Tutorial for Isolating Your System with Linux NamespacesLinux namespaces make it possible to run a whole range of applications on a single real machine and ensure no two of them can interfere with each other, without having to resort to using virtual machines. In a single-user computer, a single system environment may be fine. But on a server, where you may want to run multiple services, it is essential to security and stability that the services are as isolated from each other as possible.Thu, 20 Nov 2014 02:57:18 -0500https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces
separation-anxiety-isolating-your-system-with-linux-namespacesMAHMUD RIDWAN, SOFTWARE ENGINEER @ TOPTALBuggy CakePHP Code: The 6 Most Common Mistakes CakePHP Developers MakeCakePHP is an amazing PHP framework, but it has a steep learning curve! It requires a good amount of research and training to become an expert.
This article describes few bad practices when writing a CakePHP code, and proposes the correct approach to avoid them.Wed, 19 Nov 2014 01:58:36 -0500https://www.toptal.com/cakephp/most-common-cakephp-mistakes
most-common-cakephp-mistakesMICHAEL HOUGHTON, SOFTWARE ENGINEER @ TOPTAL.NET Core - Going Wild and Open Source. Microsoft, what took you so long?!ESA’s Rosetta mission soft-landed its Philae probe on a comet, the first time in history that such an extraordinary feat has been achieved. Closely after that, Microsoft Open Sourced .NET.
The first event is a great step for mankind, and the latter is even greater for Microsoft!Fri, 14 Nov 2014 08:06:34 -0500https://www.toptal.com/dot-net/dotnet-core-going-wild-and-open-source-what-took-you-so-long
dotnet-core-going-wild-and-open-source-what-took-you-so-longDEMIR SELMANOVIC, TECHNICAL EDITOR @ TOPTALBypassing Chinese Internet Censorship: How I Built a Censored Microblog AggregatorAs is known worldwide, the Chinese government enforces strict censorship on the internet. Virtually everything is under the government’s surveillance. In order to be allowed to operate, ISPs and internet content providers in China usually have their own content filtering mechanism for blocking or removing the published content by its users, or even deleting users’ account directly if they are assumed to be illegal under the government policy.Thu, 13 Nov 2014 02:26:17 -0500https://www.toptal.com/web/battling-censorship-in-china-how-i-built-a-censored-microblog-aggregator
battling-censorship-in-china-how-i-built-a-censored-microblog-aggregatorXIAOLEI LIU, SOFTWARE ENGINEER @ TOPTALTop 10 Most Common Mistakes That Android Developers Make: A Programming TutorialThere are thousands of different Android powered devices, with different screen sizes, chip architectures, hardware configurations, and software versions. Unfortunately, segmentation is the price to pay for openness, and there are thousands ways your app can fail on different devices.
Regardless of such huge segmentation, the majority of bugs are actually introduced because of logic errors. These bugs are easily prevented, as long as we get the basics right!
Here's a quick rundown of the 10 most common mistakes Android developers make.Tue, 11 Nov 2014 07:19:26 -0500https://www.toptal.com/android/top-10-most-common-android-development-mistakes
top-10-most-common-android-development-mistakesIVAN DIMOSKI, ANDROID ENGINEER @ TOPTALGit Workflows for Pros: A Good Git GuideGit can support your project not just with version control, but also with collaboration and release management. Understanding how workflow patterns can help or hinder a project will give you the knowledge to evaluate and adapt your project's Git processes effectively.Fri, 07 Nov 2014 03:13:24 -0500https://www.toptal.com/git/git-workflows-for-pros-a-good-git-guide
git-workflows-for-pros-a-good-git-guideJOE JAMES, DIRECTOR @ JOEJAMES.IOMirror API Tutorial: Google Glass for Web DevelopersWouldn’t it be great to develop for Google Glass without learning a new programming language, and even by just using knowledge common to all web developers? Yes, it is possible!
This article will introduce you to web development techniques you can use to build application used on Google Glass.Wed, 05 Nov 2014 09:23:19 -0500https://www.toptal.com/google-glass/mirror-api-google-glass-for-web-developers
mirror-api-google-glass-for-web-developersDEMIR SELMANOVIC, TECHNICAL EDITOR @ TOPTALLearning Swift Programming: Is it Ready for Prime Time?Since Apple's launch of Swift this past June, many iOS developers have been struggling with the question of if, how, and when to transition from Objective-C to Swift. This article explores some important points to consider before jumping into Swift development.Thu, 30 Oct 2014 10:44:16 -0400https://www.toptal.com/swift/swift-is-it-ready-for-prime-time
swift-is-it-ready-for-prime-timeJOSHUA BALLANCO, SOFTWARE ENGINEER @ TOPTALJavaScript Promises: A Tutorial with ExamplesPromises are a hot topic in JavaScript, and you should definitely get acquainted with them. They are not easy to wrap your head around, it can take a few articles, and a decent amount of practice to comprehend them. Aim of this article is to help you understand Promises, and nudge you to get more practice using them.Wed, 29 Oct 2014 12:13:45 -0400https://www.toptal.com/javascript/javascript-promises
javascript-promisesBALINT ERDI, SOFTWARE ENGINEER @ TOPTALA Guide to Rails Engines in the Wild: Real World Examples of Rails Engines in ActionWhy are Rails Engines not used more often? I don't know the answer, but I do think that the generalization of "Everything is an Engine" has hidden the problem domains that they can help to solve.Tue, 28 Oct 2014 20:25:30 -0400https://www.toptal.com/ruby-on-rails/rails-engines-in-the-wild-real-world-examples-of-rails-engines-in-action
rails-engines-in-the-wild-real-world-examples-of-rails-engines-in-actionJOE JAMES, DIRECTOR @ JOEJAMES.IO LTDAn iOS Developer’s Guide: From Objective-C to Learning SwiftAfter 6 years of improving and working on Objective-C, Apple decided to throw another challenge at developers. Once again, iOS developers will need to learn a new programming language: Swift.
Swift 1.0 is already a stable and strong development platform, which is sure to evolve in interesting ways over the coming years. It is a perfect moment to start exploring this new language, as it is the future of iOS development.Thu, 09 Oct 2014 13:50:36 -0400https://www.toptal.com/swift/from-objective-c-to-swift
from-objective-c-to-swiftMARCO MUSTAPIC, IOS DEVELOPER @ TOPTALAngularJS Tutorial: Demystifying Custom DirectivesOne of the most capable, extensible and popular front-end frameworks is AngularJS, and one of the most useful components of the AngularJS framework is something called a directive. In this article, the four functions that execute as a directive is created and applied to the DOM will be explored.Tue, 07 Oct 2014 16:03:08 -0400https://www.toptal.com/angular-js/angular-js-demystifying-directives
angular-js-demystifying-directivesERIC W. GREENE, SOFTWARE ENGINEER @ TOPTAL3D Data Visualization with Open Source Tools: A Tutorial Using VTKHow do we understand and interpret the huge amounts of data coming out of simulations? How do we visualize potential gigabytes of datapoints in a large dataset? In this article I will give a quick introduction to VTK and its pipeline architecture, and go on to discuss a real-life visualization example.Fri, 03 Oct 2014 14:32:19 -0400https://www.toptal.com/data-science/3d-data-visualization-with-open-source-tools-an-example-using-vtk
3d-data-visualization-with-open-source-tools-an-example-using-vtkBENJAMIN HOPFER, SOFTWARE ENGINEER @ TOPTALThe 5 Most Common Mistakes HTML5 Developers Make: A Beginner’s GuideIt's been over 20 years since Tim Berners-Lee and Robert Cailliau specified HTML, which became the standard markup language used to build the Internet.
HTML5 was supposed to finally solve our problems and become "one standard to rule them all (browsers)". This was probably one of the most anticipated technologies since creation of the World Wide Web.Thu, 02 Oct 2014 17:01:12 -0400https://www.toptal.com/html5/top-5-mistakes-that-html5-developers-make
top-5-mistakes-that-html5-developers-makeDEMIR SELMANOVIC, SOFTWARE DEVELOPER @ TOPTALSimple Data Flow in React Apps Using Flux and Backbone: A Tutorial with ExamplesReact.js is a fantastic library. It is only one part of a front-end application stack, however. It doesn't have much to offer when it comes to managing data and state. Facebook, the makers of React, have offered some guidance there in the form of Flux. I'll introduce basic Flux control flow, discuss what's missing for Stores, and how to use Backbone Models and Collections to fill the gap in a "Flux-compliant" way.Wed, 01 Oct 2014 15:04:59 -0400https://www.toptal.com/front-end/simple-data-flow-in-react-applications-using-flux-and-backbone
simple-data-flow-in-react-applications-using-flux-and-backboneALEX RATTRAY, SOFTWARE ENGINEER @ TOPTALThe 10 Most Common Mistakes Web Developers Make: A Tutorial for DevelopersToday we have thousands of digital and printed resources that provide step-by-step instructions about developing all kinds of different web applications. Development environments are "smart" enough to catch and fix many mistakes that early developers battled with regularly. There are even many different development platforms that easily turn simple static HTML pages into highly interactive applications.
All of these development patterns, practices, and platforms share common ground, and they are all prone to similar mistakes caused by the very nature of web applications.Fri, 26 Sep 2014 22:24:56 -0400https://www.toptal.com/web/top-10-mistakes-that-web-developers-make
top-10-mistakes-that-web-developers-makeDEMIR SELMANOVIC, SOFTWARE DEVELOPER @ TOPTALIntroducing Hoodie: Full Stack Development for Front-End DevelopersHoodie is a progressive new library for front-end developers that adopts some remarkable new philosophies. Hoodie puts the control over app design completely in the hands of the front-end developers and user-experience experts, and frees users from the bonds of un-interruptible connectivity.Wed, 24 Sep 2014 16:09:17 -0400https://www.toptal.com/front-end/introducing-hoodie-full-stack-app-development-for-front-end-developers
introducing-hoodie-full-stack-app-development-for-front-end-developersALVARO OLIVEIRA, VP OF TALENT OPERATIONS @ TOPTALMetaDapper: Data Mapping and Conversion Made Easy With the Right ToolsData conversion, translation, and mapping is by no means rocket science, but it is by all means tedious. This article introduces MetaDapper, a .NET library that strives to simplify, streamline, and automate the data conversion process to the greatest extent possible.Fri, 12 Sep 2014 14:54:56 -0400https://www.toptal.com/data-science/metadapper-data-conversion-and-mapping-made-easy
metadapper-data-conversion-and-mapping-made-easyRICHARD ROZSA, SOFTWARE ENGINEER @ TOPTALA Tutorial for Aspiring Google Glass Developers: Building Your First Glass AppGoogle Glass promises to revolutionize how we use our devices to interact with the world. But from a developer's standpoint, what is so special about developing for the Glass? You'll be glad to know that the answer is "Nothing!" Here's a step-by-step tutorial that walks you through developing your first Google Glass app.Thu, 11 Sep 2014 17:20:16 -0400https://www.toptal.com/google-glass/building-your-first-glass-app-a-tutorial-for-aspiring-google-glass-developers
building-your-first-glass-app-a-tutorial-for-aspiring-google-glass-developersDEMIR SELMANOVIC, SOFTWARE ENGINEER @ TOPTALWhy Should I Learn Scala?The popularity and usage of Scala is rapidly on the rise, as evidenced by the ever-increasing number of open positions for Scala developers.
In this article, Toptal engineer Matt Hicks introduces you to the power and capabilities of the Scala language.
Wed, 03 Sep 2014 15:08:44 -0400https://www.toptal.com/scala/why-should-i-learn-scala
why-should-i-learn-scalaMATT HICKS, SOFTWARE ENGINEER @ TOPTALA Guide to Scientific Computing with Open Source ToolsScientific computing is hard. But thanks to an ever-growing landscape of open source tools, really tough problems are becoming easier to solve. Toptal engineer Charles Cook provides an in-depth example, leveraging open source tools to solve a problem in computational fluid dynamics.Fri, 29 Aug 2014 17:28:03 -0400https://www.toptal.com/scientific-computing/scientific-computing-with-open-source-tools
scientific-computing-with-open-source-toolsCHARLES COOK, PH.D., SOFTWARE ENGINEER @ TOPTALAn Introductory Robot Programming TutorialLet's face it, robots are cool. In this post, Toptal Engineer Nick McCrea provides a step-by-step, easy-to-follow tutorial (with code samples) that walks you through the process of building a basic autonomous mobile robot.Fri, 22 Aug 2014 11:51:30 -0400https://www.toptal.com/robotics/programming-a-robot-an-introductory-tutorial
programming-a-robot-an-introductory-tutorialNICK MCCREA, SOFTWARE ENGINEER @ TOPTALAn Introduction to Machine Learning Theory and Its Applications: A Visual Tutorial with ExamplesThis article introduces the basics of Machine Learning theory, laying down the common themes and concepts, making it easy to follow the logic and get comfortable with the topic.Fri, 08 Aug 2014 12:43:17 -0400https://www.toptal.com/machine-learning/machine-learning-theory-an-introductory-primer
machine-learning-theory-an-introductory-primerNICK MCCREA, SOFTWARE ENGINEER @ TOPTALMy CakePHP 3 Review – Still Fresh, Still HotThe Cake development team considers CakePHP 3 to be a game changer. With the alpha version of CakePHP 3 now hot out of the oven, this article takes a fresh look at CakePHP as an effective modern framework for PHP development.Wed, 09 Jul 2014 11:35:31 -0400https://www.toptal.com/cakephp/cakephp-still-fresh-still-hot
cakephp-still-fresh-still-hotMICHAEL HOUGHTON, SOFTWARE ENGINEER @ TOPTALBuggy JavaScript Code: The 10 Most Common Mistakes JavaScript Developers MakeAt first blush, JavaScript may seem quite simple. Yet the language is significantly more nuanced, powerful, and complex than one would initially be lead to believe. Many of JavaScript's subtleties lead to a number of common mistakes -- 10 of which we discuss here -- that are important to be aware of and avoid in one's quest to become a master JavaScript developer.Mon, 07 Jul 2014 11:15:09 -0400https://www.toptal.com/javascript/10-most-common-javascript-mistakes
10-most-common-javascript-mistakesRYAN J. PETERSON, SOFTWARE ENGINEER @ TOPTALBuggy PHP Code: The 10 Most Common Mistakes PHP Developers MakePHP makes it relatively easy to build a web-based system, which is much of the reason for its popularity. But its ease of use notwithstanding, PHP has evolved into quite a sophisticated language, with many nuances and subtleties that can bite developers, leading to hours of hair-pulling debugging. This article highlights ten of the more common mistakes that PHP developers need to beware of.Tue, 01 Jul 2014 10:55:35 -0400https://www.toptal.com/php/10-most-common-mistakes-php-programmers-make
10-most-common-mistakes-php-programmers-makeILYA SANOSYAN, SOFTWARE ENGINEER @ TOPTALEmber Data: A Comprehensive Tutorial for the ember-data LibraryEmber Data is a library for robustly managing model data in Ember.js applications. Ember Data provides a more flexible and streamlined development workflow, minimizing code churn in response to what would otherwise be high impact changes. This thorough guide introduces Ember Data's key constructs and paradigms, demonstrating the value it can provide to you as a developer.Wed, 18 Jun 2014 14:13:11 -0400https://www.toptal.com/emberjs/a-thorough-guide-to-ember-data
a-thorough-guide-to-ember-dataPOOYAN KHOSRAVY, SOFTWARE ENGINEER @ TOPTAL LLCThe Many Interpreters and Runtimes of the Ruby Programming LanguageWhich Ruby implementation is right for your project? While the reference implementation (Ruby MRI) remains the interpreter of choice, an alternate Ruby implementation may be right for your project, depending on your operational goals and constraints.
This article showcases the Ruby interpreter implementations and runtimes available today, discussing the advantages and disadvantages of each.Thu, 12 Jun 2014 11:37:00 -0400https://www.toptal.com/ruby/the-many-shades-of-the-ruby-programming-language
the-many-shades-of-the-ruby-programming-languageRYAN WILCOX, SOFTWARE ENGINEER @ TOPTAL5 Golden Rules for Great Web API DesignWeb services and their APIs abound. Unfortunately, the vast majority are difficult to use. Reasons range from poor design, to lack of documentation, to volatility, to unresolved bugs, or in some cases, all of the above.
Follow the guidance in this post to help ensure that your web API is clean, well-documented, and easy-to-use. Such APIs are truly rare and are therefore much more likely to be widely adopted and used.Tue, 10 Jun 2014 10:59:24 -0400https://www.toptal.com/api-developers/5-golden-rules-for-designing-a-great-web-api
5-golden-rules-for-designing-a-great-web-apiJORDAN AMBRA, SOFTWARE ENGINEER @ TOPTALBuggy Rails Code: The 10 Most Common Mistakes That Rails Developers MakeWhile Rails is easy to use, it is also not hard to misuse. This article looks at 10 common Rails pitfalls, including how to avoid them and the problems that they cause.Tue, 03 Jun 2014 16:08:14 -0400https://www.toptal.com/ruby-on-rails/top-10-mistakes-that-rails-programmers-make
top-10-mistakes-that-rails-programmers-makeBRIAN VANLOO, SOFTWARE ENGINEER @ TOPTAL10 Most Common Web Security VulnerabilitiesFor all too many companies, it's not until after a breach has occurred that security becomes a priority. An effective approach to IT security must, by definition, be proactive and defensive. This post focuses on 10 common and significant web-related IT security pitfalls to be aware of, including recommendations on how they can be avoided.Thu, 29 May 2014 10:11:28 -0400https://www.toptal.com/security/10-most-common-web-security-vulnerabilities
10-most-common-web-security-vulnerabilitiesGERGELY KALMAN, SECURITY SPECIALIST @ TOPTALDon't Be Fooled: Calculate the Real Cost of Employees and ConsultantsIt's astounding how few business owners properly account for the real cost of their labor. This article presents tried and true methods -- including an online calculator -- for calculating the real cost of your employees and consultants, enabling you to perform a sound financial analysis when faced with the "employee vs. consultant" dilemma. Wed, 28 May 2014 14:58:10 -0400https://www.toptal.com/freelance/don-t-be-fooled-the-real-cost-of-employees-and-consultants
don-t-be-fooled-the-real-cost-of-employees-and-consultantsHYAM SINGER, VP, USER ENGAGEMENT @ TOPTALYour First AngularJS App Tutorial Part 2: Tools for Scaffolding, Building, and TestingIn this follow-up to his first highly popular AngularJS tutorial, Toptal engineer Raoni Boaventura guides you through the steps of setting up your project, including scaffolding, dependency management, and preparing it for testing.Fri, 16 May 2014 11:08:45 -0400https://www.toptal.com/angular-js/your-first-angularjs-app-part-2-scaffolding-building-and-testing
your-first-angularjs-app-part-2-scaffolding-building-and-testingRAONI BOAVENTURA, FRONT-END SOFTWARE ENGINEER @ TOPTALPolymer.js: The Future of Web Application Development?A year after Google's launch of Polymer, Toptal engineer Alejandro Hernandez takes it out for a test drive to see if it's yet ready for prime time. This post explores the maturity and stability of Polymer.js as a foundation for large-scale application development. The results and conclusions from this analysis are provided, along with an introductory overview of the technology.Tue, 13 May 2014 13:28:52 -0400https://www.toptal.com/front-end/polymer-js-the-future-of-web-application-development
polymer-js-the-future-of-web-application-developmentALEJANDRO HERNANDEZ, FRONT-END SOFTWARE ENGINEER @ TOPTALBuggy Python Code: The 10 Most Common Mistakes That Python Developers MakePython's simple, easy-to-learn syntax can mislead Python developers -- especially those who are newer to the language -- into missing some of its subtleties and underestimating the power of the language.
In this article, Toptal's Martin Chikilian presents a "top 10" list of somewhat subtle, harder-to-catch mistakes that can trip up even the most advanced Python developer.Thu, 08 May 2014 10:04:53 -0400https://www.toptal.com/python/top-10-mistakes-that-python-programmers-make
top-10-mistakes-that-python-programmers-makeMARTIN CHIKILIAN, PYTHON SOFTWARE ENGINEER @ TOPTALJavaScript Prototype Chains, Scope Chains, and Performance: What You Need to KnowJavaScript is much more nuanced than most developers initially realize. Even for those with more experience, some of JavaScript's most salient features continue to be misunderstood and lead to confusion. One such feature, described in this article, is the way that property and variable lookups are performed and the resulting performance ramifications to be aware of.Mon, 05 May 2014 11:05:21 -0400https://www.toptal.com/javascript/javascript-prototypes-scopes-and-performance-what-you-need-to-know
javascript-prototypes-scopes-and-performance-what-you-need-to-knowDIEGO CASTORINA, SOFTWARE ENGINEER @ TOPTALBuggy C# Code: The 10 Most Common Mistakes That C# Developers MakeC# is a powerful and flexible language with many mechanisms and paradigms that can greatly improve productivity. Having a limited understanding or appreciation of its capabilities, though, can leave one in the proverbial state of “knowing enough to be dangerous”. This article describes 10 of the most common programming mistakes made, or pitfalls to be avoided, by C# programmers.Fri, 25 Apr 2014 10:05:29 -0400https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make
top-10-mistakes-that-c-sharp-programmers-makePATRICK RYDER, SOFTWARE ARCHITECT @ TOPTALData Encoding: A Guide to UTF-8 for PHP and MySQLOnce you step beyond the comfortable confines of English-only character sets, you quickly find yourself entangled in the wonderfully wacky world of UTF-8.
Indeed, navigating through UTF-8 related issues can be a frustrating and hair-pulling experience. This post provides a concise cookbook for addressing these issues when working with PHP and MySQL in particular, based on practical experience and lessons learned.Thu, 17 Apr 2014 13:33:38 -0400https://www.toptal.com/php/a-utf-8-primer-for-php-and-mysql
a-utf-8-primer-for-php-and-mysqlFRANCISCO SANCHEZ CLARIÁ, SOFTWARE ENGINEER @ TOPTALFixing the “Heartbleed” OpenSSL Bug: A Tutorial for Sys AdminsA potentially critical problem, nicknamed "Heartbleed", has surfaced in the widely-used OpenSSL cryptographic library. The vulnerability is particularly dangerous in that potentially critical data can be leaked and the attack leaves no trace.
As a user, chances are that sites you frequent regularly are affected and your data may have been compromised. As a developer or sys admin, sites or servers you're responsible for are likely to have been affected.
Here are the key facts you need to know about this dangerous bug and how to mitigate your vulnerability.Fri, 11 Apr 2014 17:54:58 -0400https://www.toptal.com/freelance/the-heartbleed-openssl-bug-what-you-need-to-know
the-heartbleed-openssl-bug-what-you-need-to-knowGERGELY KALMAN, SECURITY SPECIALIST @ TOPTALHow to Travel While Working: The Traveling Engineer's Survival GuideAs Co-Founder and COO, Breanden Beneschott has been effectively running Toptal, a venture-funded company growing hundreds of percent year over year, while traveling across the globe. Breanden shares his tips and experiences as a successful traveling engineer and entrepreneur, including his perspective on the benefits of this new lifestyle.Thu, 10 Apr 2014 12:52:10 -0400https://www.toptal.com/freelance/the-traveling-engineers-survival-guide
the-traveling-engineers-survival-guideBREANDEN BENESCHOTT, CO-FOUNDER / COO @ TOPTALAdventures in GPS Programming and Development: a Geospacial TutorialThis post explores some of the more common types of GPS tracking errors to expect with low-end GPS devices, providing an understanding of what causes them as well as some approaches for correcting them. The techniques outlined can provide users of low-end GPS devices with a reasonable level of automated improvement of the accuracy of their GPS tracks.Mon, 07 Apr 2014 18:11:53 -0400https://www.toptal.com/gis/adventures-in-gps-track-analytics-a-geospatial-primer
adventures-in-gps-track-analytics-a-geospatial-primerTOMO KRAJINA, SOFTWARE ENGINEER @ TOPTALiOS User Interfaces: Storyboards vs. NIBs vs. Custom CodeI often hear iOS developers ask some variant of the same key question: "What's the best way to develop a UI in iOS: through Storyboards, NIBs, or code?"
Answers to this question, explicitly or implicitly, tend to assume that there's a mutually exclusive choice to be made, one that is often addressed upfront, before development.
I'm of the opinion that there's no single choice to be made. Rather, each option has its strengths and weaknesses—and there's no need to use any one of them in isolation.Fri, 04 Apr 2014 15:05:38 -0400https://www.toptal.com/ios/ios-user-interfaces-storyboards-vs-nibs-vs-custom-code
ios-user-interfaces-storyboards-vs-nibs-vs-custom-codeANTONIO BELLO, IOS DEVELOPER @ TOPTALGo Programming Language: An Introductory TutorialGo is a relatively new language with a number of attractive features. It's great for writing concurrent programs, thanks to an excellent set of low-level features for handling concurrency. In many cases, though, a handful of reusable abstractions over those low-level mechanisms makes life much easier. This introductory tutorial walks you through building one such abstraction: a wrapper that can turn any data structure into a transactional service in Go.Tue, 01 Apr 2014 12:59:07 -0400https://www.toptal.com/go/go-programming-a-step-by-step-introductory-tutorial
go-programming-a-step-by-step-introductory-tutorialBRENDON HOGGER, SOFTWARE ARCHITECT @ TOPTALA Deep Learning Tutorial: From Perceptrons to Deep NetworksThe 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.Thu, 27 Mar 2014 17:09:28 -0400https://www.toptal.com/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks
an-introduction-to-deep-learning-from-perceptrons-to-deep-networksIVAN VASILEV, JAVA DEVELOPER @ TOPTALHosting a Tech Conference for a Software Developer Network: The CordobaJS EventBeyond 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.Wed, 26 Mar 2014 13:25:55 -0400https://www.toptal.com/freelance/how-to-run-a-successful-tech-conference-the-cordobajs-event
how-to-run-a-successful-tech-conference-the-cordobajs-eventRAMIRO AGUSTIN PALACIOS, SOFTWARE ARCHITECT @ TOPTALDjango, Flask, and Redis Tutorial: Web Application Session Management Between Python FrameworksI 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?Thu, 20 Mar 2014 11:51:08 -0400https://www.toptal.com/django/django-flask-and-redis-sharing-user-sessions-between-frameworks
django-flask-and-redis-sharing-user-sessions-between-frameworksDENIS KYOROV, PYTHON DEVELOPER @ TOPTALConcurrency and Fault Tolerance Made Easy: An Akka Tutorial with ExamplesWriting 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.Wed, 19 Mar 2014 12:53:33 -0400https://www.toptal.com/scala/concurrency-and-fault-tolerance-made-easy-an-intro-to-akka
concurrency-and-fault-tolerance-made-easy-an-intro-to-akkaDIEGO CASTORINA, SOFTWARE ENGINEER @ TOPTALBusting the Top 5 Myths About Remote WorkersWith 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.Fri, 14 Mar 2014 16:30:19 -0400https://www.toptal.com/freelance/busting-the-top-5-myths-about-remote-workers
busting-the-top-5-myths-about-remote-workersSCOTT RITTER, SENIOR SUPERVISOR @ TOPTALDeveloping Mobile Web Apps: When, Why, and HowWith 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.Tue, 11 Mar 2014 16:16:57 -0400https://www.toptal.com/android/developing-mobile-web-apps-when-why-and-how
developing-mobile-web-apps-when-why-and-howTOMAS AGRIMBAU, SOFTWARE ENGINEER @ TOPTALPython Class Attributes: An Overly Thorough GuideIn 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.Wed, 05 Mar 2014 10:00:21 -0500https://www.toptal.com/python/python-class-attributes-an-overly-thorough-guide
python-class-attributes-an-overly-thorough-guideCHARLES MARSH, HEAD OF COMMUNITY @ TOPTALElasticsearch for Ruby on Rails: A Tutorial to the Chewy GemElasticsearch 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.Fri, 28 Feb 2014 13:57:46 -0500https://www.toptal.com/ruby-on-rails/elasticsearch-for-ruby-on-rails-an-introduction-to-chewy
elasticsearch-for-ruby-on-rails-an-introduction-to-chewyARKADIY ZABAZHANOV, RUBY ON RAILS DEVELOPER @ TOPTALModernizing Legacy Software: MUD Programming Using Erlang and CloudIThe 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.Tue, 25 Feb 2014 16:02:39 -0500https://www.toptal.com/erlang/modernizing-legacy-software-an-example-using-erlang-and-cloudi
modernizing-legacy-software-an-example-using-erlang-and-cloudiMICHAEL TRUOG, ERLANG DEVELOPER @ TOPTALYour Boss Won't Appreciate TDD: Try This Behavior-Driven Development ExampleTesting. It always seems to get left to the last minute, then cut because you're out of time, budget, or whatever else. Management wonders why developers can't just "get it right the first time", and developers (especially on large systems) can be taken off-guard when different stakeholders describe different parts of the system.
With behavior-driven development, you can turn testing into a shared process that focuses on the behaviors of the system, why they matter, and who cares.Fri, 14 Feb 2014 11:45:32 -0500https://www.toptal.com/freelance/your-boss-won-t-appreciate-tdd-try-bdd
your-boss-won-t-appreciate-tdd-try-bddRYAN WILCOX, SOFTWARE ENGINEER @ TOPTALAutomated Android Crash Reports with ACRA and CloudantMaking a basic Android app is easy. But making it reliable, scalable, and robust, on the other hand, can be quite challenging. With thousands of available devices pumped out from tons of different manufacturers, assuming that a single piece of code will work reliably across phones is naive at best. Segmentation is the greatest tradeoff for having an open platform, and we pay the price in the currency of code maintenance, which continues long after the app passes the production stage.
In this post, we'll walk through a solution: automated crash reporting with ACRA and a Cloudant back-end, all visualizable with acralyzer.Fri, 07 Feb 2014 17:01:53 -0500https://www.toptal.com/android/automated-android-crash-reports-with-acra-and-cloudant
automated-android-crash-reports-with-acra-and-cloudantIVAN DIMOSKI, ANDROID ENGINEER @ TOPTALIn Search of the Elite Few – Finding and Hiring the Best Software Developers in the IndustryEffective interviewing and hiring is as much of an art as it is a science. Nonetheless, approaches and methodologies do exist for evaluating the more subtle dimensions of a software developer’s skills and abilities. When used collectively, these techniques yield a highly effective screening process with a proven track record of success. That process is what this post is all about.Fri, 31 Jan 2014 19:28:47 -0500https://www.toptal.com/freelance/in-search-of-the-elite-few-finding-and-hiring-the-best-developers-in-the-industry
in-search-of-the-elite-few-finding-and-hiring-the-best-developers-in-the-industryHYAM SINGER, VP, USER ENGAGEMENT @ TOPTALA Guide to Building Your First Ember.js AppAs modern web applications do more and more on the client-side (the fact itself
that we now refer to them as “web applications” as opposed to “web sites” is
quite telling), there has been rising interest in client-side frameworks.
There are a lot of players in this field but for applications with lots of functionality and many moving parts, two of them stand out in particular: Angular.js and Ember.js.
Angular.js has already been introduced on this blog, so we're
going to focus on Ember.js in this post, in which we'll build a simple Ember
application to catalog your music collection. You'll be introduced to the framework's main building blocks and get a glimpse into its design principles.Tue, 28 Jan 2014 13:14:36 -0500https://www.toptal.com/javascript/a-step-by-step-guide-to-building-your-first-ember-js-app
a-step-by-step-guide-to-building-your-first-ember-js-appBALINT ERDI, FREELANCE EMBER CONSULTANT @ TOPTALComputational Geometry in Python: From Theory to ApplicationWhen people think computational geometry, in my experience, they typically think one of two things:
1. Wow, that sounds complicated.
2. Oh yeah, convex hull.
In this post, I'd like to shed some light on computational geometry, starting with a brief overview of the subject before moving into some practical advice based on my own experiences in computational geometric programming with Python.
Tue, 21 Jan 2014 17:10:25 -0500https://www.toptal.com/python/computational-geometry-in-python-from-theory-to-implementation
computational-geometry-in-python-from-theory-to-implementationCHARLES MARSH, HEAD OF COMMUNITY @ TOPTALA Year Building a WebRTC Application: Lessons in Startup EngineeringI've been an Engineer at Toptal for just about one year now, working on the same project since I joined the network: Ondello, a service that connects doctors and patients over WebRTC.
When I first joined Ondello, I was hired as a Senior Ruby on Rails Developer, tasked to build a service up from scratch. These days, we're a team of multiple developers working on a fairly large, complex system.
With this post, I'd like to share the story behind Ondello. Specifically, I'd like to talk about: how a simple application became not-so-simple, and how our use of cutting-edge technologies posed problems I'd never considered before.Thu, 16 Jan 2014 10:55:22 -0500https://www.toptal.com/ruby-on-rails/a-year-with-webrtc-lessons-in-startup-engineering
a-year-with-webrtc-lessons-in-startup-engineeringALEXANDRE MONDAINI CALVÃO, RUBY ON RAILS ENGINEER @ TOPTALAn Introduction to Mocking in PythonMore often than not, the software we write directly interacts with what we would label as "dirty" services. In layman's terms: services that are crucial to our application, but whose interactions have intended but undesired side-effects—that is, undesired in the context of an autonomous test run.
For example: perhaps we're writing a social app and want to test out our new 'Post to Facebook feature', but don't want to _actually_ post to Facebook every time we run our test suite.
The Python `unittest` library includes a subpackage named `unittest.mock`—or if you declare it as a dependency, simply `mock`—which provides extremely powerful and useful means by which to mock and stub out these undesired side-effects.Tue, 07 Jan 2014 09:53:10 -0500https://www.toptal.com/python/an-introduction-to-mocking-in-python
an-introduction-to-mocking-in-pythonNAFTULI KAY, FREELANCE SOFTWARE ENGINEER @ TOPTALAnti-Patterns in TelecommutingAs a veteran telecommuter through multiple jobs in my career, I have witnessed and experienced the many joys of being a remote worker. As for the horror stories, I have more than a few I could tell. With a bit of artistic inclination and a talent for mathematics, I also have a fascination with patterns: design patterns, architectural patterns, behavioral patterns, social patterns, weather patterns—all sorts of patterns!
When I first encountered anti-patterns, I discovered a trove of wisdom I wish I had known before I had learned the hard way. Anti-patterns are recognizable repeated patterns that contribute significantly to failure. For example, the manager that keeps interrupting the employee in order to see if the employee is getting any work done is engaging in an anti-pattern that serves to prevent the employee from getting any work done!
Based on my own experiences and experiences of friends and co-workers, I am assembling descriptions of anti-patterns related to telecommuting.Tue, 10 Dec 2013 15:01:57 -0500https://www.toptal.com/remote/anti-patterns-in-telecommuting
anti-patterns-in-telecommutingSTEVEN S. MORGAN, JAVA DEVELOPER @ TOPTALGreat Developers Know When and How To Refactor Rails Code>If it ain't broke, don't fix it.
It's a well known phrase, but as we know, most of the human technological progress was made by people who decided to fix what isn’t broken. Especially in the software industry one could argue that most of what we do is fixing what isn’t broken.
Fixing functionality, improving the UI, improving speed and memory efficiency, adding features: these are all activities for which it is easy to see if they are worth doing, and then we argue for or against spending our time on them. However, there is an activity, which for the most part falls into a gray area: refactoring, and especially large scale refactoring. Thu, 05 Dec 2013 14:16:34 -0500https://www.toptal.com/ruby-on-rails/large-scale-refactoring
large-scale-refactoringRADAN SKORIC, RUBY ON RAILS DEVELOPER @ TOPTALWith a Filter Bypass and Some Hexadecimal, Hacked Credit Card Numbers Are Still, Still Google-ableIn 2007, Bennett Haselton revealed a minor hack with major implications: querying ranges of numbers on Google would return pages of sensitive information, including Credit Card numbers, Social Security numbers, and more. While Haselton's hack was addressed and patched, I was able to tweak his original technique to bypass Google's filter and return the same old dangerous results.Sun, 10 Nov 2013 20:37:32 -0500https://www.toptal.com/web/with-a-filter-bypass-credit-card-numbers-are-still-still-google-able
with-a-filter-bypass-credit-card-numbers-are-still-still-google-ableGERGELY KALMAN, SECURITY SPECIALIST @ TOPTALA Step-by-Step Tutorial for Your First AngularJS AppIf you haven’t tried AngularJS yet, you’re missing out. The framework consists of a tightly integrated toolset that will help you build well structured, rich client-side applications in a modular fashion—with less code and more flexibility.
One of the reasons I love working with AngularJS is because of its flexibility regarding server communication. Like most JavaScript MVC frameworks, it lets you work with any server-side technology as long as it can serve your app through a RESTful web API. But Angular also provides services on top of XHR that dramatically simplify your code and allow you to abstract API calls into reusable services. As a result, you can move your model and business logic to the front-end and build back-end agnostic web apps. In this post, we'll do just that, one step at a time.Sun, 03 Nov 2013 07:14:11 -0500https://www.toptal.com/angular-js/a-step-by-step-guide-to-your-first-angularjs-app
a-step-by-step-guide-to-your-first-angularjs-appRAONI BOAVENTURA, JAVASCRIPT ENGINEER @ TOPTALIntroduction to Responsive Web Design: Pseudo-Elements, Media Queries, and MoreNowadays, your website will be visited by a wide variety of devices: desktops with large monitors, mid-sized laptops, tablets, smartphones, and more.
To achieve an optimal user experience, your site should be adjusting its layout in response to these varied devices (i.e., to their varied screen resolutions and dimensions). The process of responding to the form of the user's device is referred to as (you guessed it) responsive web design (RWD).Thu, 17 Oct 2013 05:56:31 -0400https://www.toptal.com/designers/responsive/introduction-to-responsive-web-design-pseudo-elements-media-queries
introduction-to-responsive-web-design-pseudo-elements-media-queriesTOMISLAV KRNIC, FRONT-END ENGINEER @ TOPTALWhy Writing Software Design Documents MattersCongratulations, you're an independent developer. From beginnings working maybe as a tester you've progressed to a team developer, then a senior developer, and now you've made another leap, the biggest of them all, to working directly with clients.
But where the other transitions were linear, this last one was exponential. While in the past you got your marching orders from an employer that worked with clients or was itself in the software business, now all those responsibilities that were once distributed between expert-testing, program management, etc., are all yours. And now you're working with clients who are not in the software business; they're in another business that needs a piece of software, and they don't have a clear and precise vision of what they want from you. This is a far greater challenge than it appears.Thu, 10 Oct 2013 16:58:32 -0400https://www.toptal.com/freelance/why-design-documents-matter
why-design-documents-matterCHRIS FOX, SOFTWARE ENGINEER @ TOPTALSQL Database Performance Tuning for DevelopersDatabase tuning can be an incredibly difficult task, particularly when working with large-scale data where even the most minor change can have a dramatic (positive or negative) impact on performance.
In mid-sized and large companies, most database tuning will be handled by a Database Administrator (DBA). But believe me, there are plenty of developers out there who have to perform DBA-like tasks. Further, in many of the companies I've seen that _do_ have DBAs, they often struggle to work well with developers—the positions simply require different modes of problem solving, which can lead to disagreement among coworkers.
In this article, I'd like to both provide developers with some developer-side database tuning tips and explain how developers and DBAs can work together effectively.Mon, 30 Sep 2013 10:07:48 -0400https://www.toptal.com/sql/sql-database-tuning-for-developers
sql-database-tuning-for-developersRODRIGO KOCH, SYSTEMS ENGINEER @ TOPTALHunting Memory Leaks in JavaInexperienced programmers often think that Java's automatic garbage collection frees them from the burden of memory management. This is a common misperception: while the garbage collector does its best, it's entirely possible for even the best programmer to fall prey to crippling memory leaks.
In this post, I'll explain how and why memory leaks occur in Java and outline an approach for detecting such leaks with the help of a visual interface.Tue, 24 Sep 2013 14:27:00 -0400https://www.toptal.com/java/hunting-memory-leaks-in-java
hunting-memory-leaks-in-javaJOSE FERREIRADE SOUZA FILHO, JAVA ENGINEER @ TOPTALWhy Are There So Many Pythons? A Python Implementation ComparisonPython is amazing.
Surprisingly, that's a fairly ambiguous statement. What do I mean by 'Python'? Do I mean Python the abstract interface? Do I mean CPython, the common Python implementation? Or do I mean something else entirely? Maybe I'm obliquely referring to Jython, or IronPython, or PyPy. Or maybe I've really gone off the deep end and I'm talking about RPython or RubyPython (which are very, very different things).
While the technologies mentioned above are commonly-named and commonly-referenced, some of them serve completely different purposes (or at least operate in completely different ways). In this post, I'll start from scratch and move through the various Python implementations, concluding with a thorough introduction to PyPy, which I believe is the future of the language.Wed, 18 Sep 2013 21:36:59 -0400https://www.toptal.com/python/why-are-there-so-many-pythons
why-are-there-so-many-pythonsCHARLES MARSH, HEAD OF COMMUNITY @ TOPTALHow to Build an Infinite Runner on iOS: Cocos2D, Automation, and MoreBuilding games for the iOS platform can be an enriching experience in terms of both financial and personal growth. Recently, I deployed a Cocos2D-based game to the App Store. In this post, I'll explain the process behind developing games for iOS, from Cocos2D through to publishing.Tue, 10 Sep 2013 19:37:04 -0400https://www.toptal.com/ios/building-an-infinite-runner-on-ios-cocos2d-automation-scripts
building-an-infinite-runner-on-ios-cocos2d-automation-scriptsALEXEY ZANKEVICH, IOS ENGINEER @ TOPTALThe Trie: A Neglected Data StructureFrom the very first days in our lives as programmers, we've all dealt with data structures: Arrays, linked lists, trees, sets, stacks and queues are our everyday companions, and the experienced programmer knows when and why to use them.
In this article we'll see how an oft-neglected data structure, the trie, really shines in application domains with specific features, like word games.Fri, 30 Aug 2013 23:12:47 -0400https://www.toptal.com/java/the-trie-a-neglected-data-structure
the-trie-a-neglected-data-structureANNA CHIARA BELLINI, ENGINEER @ TOPTALScaling Play! to Thousands of Concurrent RequestsWeb Developers often fail to consider the consequences of thousands of users accessing our applications at the same time. Perhaps it's because we love to rapidly prototype; perhaps it's because testing such scenarios is simply hard.
Regardless, I'm going to argue that ignoring scalability is not as bad as it sounds—if you use the proper set of tools and follow good development practices. In this case: the Play! framework and the Scala language.Tue, 20 Aug 2013 15:25:46 -0400https://www.toptal.com/scala/scaling-play-to-thousands-of-concurrent-requests
scaling-play-to-thousands-of-concurrent-requestsPAULO RENATO CAMPOS DE SIQUEIRA, FREELANCE SCALA & JAVA ENGINEER @ TOPTALForex Algorithmic Trading: A Practical Tale for EngineersA few years ago, driven by my curiosity, I took my first steps into the world of Forex by creating a demo account and playing out simulations (with fake money) using the Meta Trader 4 trading platform.
After a week of 'trading', I'd almost doubled my 'money'. Spurred on by my own success, I dug deeper and eventually signed up for a number of forums. Soon, I was spending hours reading about trading systems (i.e., rule sets that determine whether you should buy or sell), custom indicators, market moods, and more.Fri, 16 Aug 2013 04:08:29 -0400https://www.toptal.com/data-science/algorithmic-trading-a-practical-tale-for-engineers
algorithmic-trading-a-practical-tale-for-engineersROGELIO NICOLAS MENGUAL, SOFTWARE DEVELOPER @ TOPTALWhat are the Benefits of Ruby on Rails? After Two Decades of Programming, I Use RailsSometimes I hear people complaining about their clients, saying that they insist on using Rails, that they've had too much Kool Aid. If they are recruiters, they almost feel sick in the stomach from perspective of having to find yet another ROR primadona. From the programmers point of view it sometimes looks like clients don't have a clue. However, I believe most clients know their options just fine and they still decide to go with Rails. Tue, 13 Aug 2013 15:26:08 -0400https://www.toptal.com/ruby-on-rails/after-two-decades-of-programming-i-use-rails
after-two-decades-of-programming-i-use-railsKREŠIMIR BOJČIĆ, RUBY DEVELOPER @ TOPTALBuild Dumb, Refactor Smart: How to Massage Problems Out of Ruby on Rails CodeSometimes, clients give us feature requests that we really don't like. It's not that we don't like our clients, we love our clients. It's not that we don't like the feature, most client-requested features are aligned perfectly with their business goals and income. Sometimes, the reason we don't like a feature request is that the easiest way to solve it is to write bad code, and we don't have an Elegant Solution on the top of our heads. This will throw many of us on fruitless searches through RubyToolbox, github, developer blogs, and stackoverflow looking for a gem or plugin or example code that will make us feel better about ourselves.
Well, I'm here to tell you, it's okay to write bad code. Sometimes, bad code is easier to refactor into beautiful code than a poorly thought out solution implemented under a time-crunch.Tue, 13 Aug 2013 14:38:45 -0400https://www.toptal.com/ruby-on-rails/build-dumb-refactor-smart-ruby-on-rails
build-dumb-refactor-smart-ruby-on-railsDANIEL LEWIS, RUBY DEVELOPER @ TOPTALWhy The Hell Would I Use Node.js? A Case-by-Case TutorialNode.js shines in real-time web applications employing push technology over websockets. What is so revolutionary about that? Well, after over 20 years of stateless-web based on the stateless request-response paradigm, we finally have web applications with real-time, two-way connections, where both the client and server can initiate communication, allowing them to exchange data freely. This is in stark contrast to the typical web response paradigm, where the client always initiates communication. Additionally, it’s all based on the open web stack (HTML, CSS and JS) running over the standard port 80.Tue, 13 Aug 2013 10:26:08 -0400https://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js
why-the-hell-would-i-use-node-jsTOMISLAV CAPAN, JAVASCRIPT DEVELOPER @ TOPTALControl Your Laptop with an Android Phone using Python, Twisted, and DjangoIt’s always fun to put your programming skills on display. A while back, I figured it’d be cool to try and control my laptop via my Android mobile device. Think about it: being able to play and pause music, start and stop programming jobs or downloads, etc., all by sending messages from your phone. Neat, huh?Mon, 05 Aug 2013 02:17:05 -0400https://www.toptal.com/android/control-your-laptop-with-android-python-twisted-and-django
control-your-laptop-with-android-python-twisted-and-djangoMARTIN CHIKILIAN, PYTHON DEVELOPER @ TOPTALIn Defense of Female EngineersFemale engineers are valuable at Toptal. This is a piece about how we stand up for their rights and value them for their skills and talent.Sat, 03 Aug 2013 01:40:39 -0400https://www.toptal.com/remote/in-defense-of-female-engineers
in-defense-of-female-engineersTASO DU VAL, CEO @ TOPTAL, LLCInit.js: A Guide to the Why and How of Full-Stack JavaScriptAfter much thought, I decided to engineer a solution to the idea abandonment problem. I call it the ‘Init' project (or Init.js).
The core of the idea is to have a single project to start them all, to let the developer or the technical founder make all of the essential decisions at once, and receive an appropriate starting template based on those decisions.Thu, 25 Jul 2013 11:32:11 -0400https://www.toptal.com/javascript/guide-to-full-stack-javascript-initjs
guide-to-full-stack-javascript-initjsALEJANDRO HERNANDEZ, JAVASCRIPT DEVELOPER @ TOPTALHow a Single Front-End Engineer Can Replace a Team of TwoDemand within the web design scene today has changed over the past few years: designers with front-end skills, and front-end developers with design skills, are more and more in demand. Yes, you could argue that the jobs are completely different—and maybe you straight-up don't like one of them—but truth be told, in my six years as a freelance web developer and twelve years as a designer, I’ve learned that it's much harder to get by as just a web designer or just a front-end developer.
Wearing both hats has a lot of advantages: from a professional perspective alone, you can find work more easily and charge a higher rate because you’re bringing more to the table.Wed, 24 Jul 2013 00:52:01 -0400https://www.toptal.com/front-end/learn-to-code-as-a-design-learn-to-design-as-a-coder
learn-to-code-as-a-design-learn-to-design-as-a-coderTOMISLAV KOZAČINSKI, FRONT-END DEVELOPER @ TOPTALThe Ultimate Remote Team CultureAt Toptal, we’re building a software product that aims to revolutionize team creation, contracting, and human resources. Our team is completely distributed: we have no office, and we work from all around the globe. And when I say “all around the globe”, I mean “_all_ around the globe”: our internal staff consists of nearly 50 full-time individuals from Brazil, USA, Russia, Argentina, Czech Republic, Ukraine, Hungary, and more. This includes engineers, designers, recruiters, sales, and executives.
We all work from home, and we’re good at it: we’ve had countless Skype sessions, code reviews, feature iterations—all components in building a great product. We work hard, and we’ve been at it with as much fervor and energy as ever.
Earlier this year, we decided it was time to bring everyone together in the same location. We’ve had tremendous success as a distributed team. But regardless, we wanted to add an edge to our collaboration and creativity, and connect in-person. Our journey, the results that came of it, and the economics behind it are all explained thoroughly in the post that follows.Fri, 19 Jul 2013 23:41:27 -0400https://www.toptal.com/remote/the-ultimate-remote-culture
the-ultimate-remote-cultureTASO DU VAL, CEO @ TOPTALFrom Node.js to Paying Your Freelance Taxes: Interview with a Successful DeveloperAt Toptal, we’re always looking for the best freelancers around. But what makes a freelancer truly great? Luis Martinho, one of our top developers, is beloved by his clients — so we sat down with him to talk about freelancing, technologies, and paying your taxes.Wed, 10 Jul 2013 09:41:12 -0400https://www.toptal.com/freelance/from-node-js-to-paying-your-taxes-interview-with-an-effective-freelancer
from-node-js-to-paying-your-taxes-interview-with-an-effective-freelancerLUÍS MARTINHO, SOFTWARE DEVELOPER @ TOPTALHow to Work Remotely and Still Be the BestStarting a new remote gig, be it a contract project or a full-time job, can be a little intimidating if you're used to going into an office day after day.
But this style of employment is growing in popularity, with some very notable companies lending it their endorsements.
I've worked remotely for years now on projects of various scales and durations. With this post, I hope to enumerate some of the best practices that I've picked up for working in a variety of situations. The advice here ranges from specific recommendations for software and hardware, to tips for hitting your team's deadlines.Wed, 10 Jul 2013 08:57:43 -0400https://www.toptal.com/freelance/how-to-work-remotely-and-still-be-the-best
how-to-work-remotely-and-still-be-the-bestRYAN WILCOX, SOFTWARE DEVELOPER @ TOPTALThe H-1B Visa: An iOS Developer's Journey from Honduras to Silicon ValleyThese days, I’m living in the great city of San Francisco. I’ve got a job that I love, and one that I’ve dreamt of having for a long time. Everything seems easy now, but it wasn’t always like this.Wed, 10 Jul 2013 08:45:36 -0400https://www.toptal.com/freelance/the-h-1b-an-ios-developers-journey-from-honduras-to-silicon-valley
the-h-1b-an-ios-developers-journey-from-honduras-to-silicon-valleyCARLOS HERNÁNDEZ, SOFTWARE DEVELOPER @ TOPTALGrowing Growth: Perform Your Own Cohort Analysis with This Open Source CodeBut this isn’t just another article about cohort analysis. If you already know the importance of the topic and want to skip the introduction, you can jump to the simulator, where you can either simulate startup growth based on retention, churn, and a number of other factors, or analyze your own PayPal logs with the code I’ve open sourced.
If, however, you don’t realize that these are some of the most important metrics around–continue reading.Wed, 10 Jul 2013 07:53:25 -0400https://www.toptal.com/data-science/growing-growth-perform-your-own-cohort-analysis
growing-growth-perform-your-own-cohort-analysisALEJANDRO RIGATUSO, FOUNDER @ POSTCRONCloudI: Bringing Erlang's Fault-Tolerance to Polyglot DevelopmentClouds must be efficient to provide useful fault-tolerance and scalability, but they also must be easy to use.
CloudI (pronounced "cloud-e" /klaʊdi/) is an open source cloud computing platform that is most closely related to the Platform as a Service (PaaS) clouds. CloudI differs in a few key ways, most importantly: software developers are not forced to use specific frameworks, slow hardware virtualization, or a particular operating system. By allowing cloud deployment to occur without virtualization, CloudI leaves development process and runtime performance unimpeded, while quality of service can be controlled with clear accountability.Wed, 10 Jul 2013 07:49:11 -0400https://www.toptal.com/erlang/a-cloud-at-the-lowest-level-built-in-erlang
a-cloud-at-the-lowest-level-built-in-erlangMICHAEL TRUOG, SOFTWARE DEVELOPER @ TOPTALHow I Made a Fully-Functional Arduino Weather StationI live in Córdoba, Argentina, approximately 130 kilometers (~80 miles) away from the lake where I kitesurf. Thats roughly a two-hour drive, which I can deal with. But I cant deal with the fact that weather forecasts are inaccurate. And where I live, good wind conditions last just a couple of hours. The last thing you want to do is clear up your Monday schedule to go kitesurfing and find yourself cursing the gods on a windless lake after two hours of driving.
I needed to know the wind conditions of my favorite kitesurfing spot—in real time. So I decided to build my own weather station.Wed, 10 Jul 2013 04:32:01 -0400https://www.toptal.com/c/how-i-made-a-fully-functional-arduino-weather-station-for-300
how-i-made-a-fully-functional-arduino-weather-station-for-300FRANCISCO SANCHEZ CLARIÁ, SOFTWARE DEVELOPER @ TOPTALEngineering Internals of a RAD Framework... as a PHP Developer with NookuEveryone has their own set of tools. As a PHP developer, one of my favorites is a Rapid Application Development framework called “Nooku”. In the words of the development group: “Nooku is more of a web development toolkit than a framework”
In case you are not familiar with it, have a look. It’s an open source project that makes heavy use of industry accepted design patterns to produce highly componentized applications that are easily extensible and reusable (initially created by one of the lead Joomla developers). Out of the box, Nooku gives you a great deal to help get projects off the ground faster. A small, but strong sample:Tue, 09 Jul 2013 07:13:42 -0400https://www.toptal.com/php/engineering-internals-of-a-rad-framework-as-a-php-developer
engineering-internals-of-a-rad-framework-as-a-php-developerCAMERON BARR, PHP DEVELOPER @ TOPTALHow I Made Porn 20x More Efficient with Python Video StreamingPorn is a big industry. There aren’t many sites on the Internet that can rival the traffic of its biggest players.
And juggling this immense traffic is tough. To make things even harder, much of the content served from porn sites is made up of low latency live streams rather than simple static video content. But for all of the challenges involved, rarely have I read about the developers who take them on. So I decided to write about my own experience on the job.Tue, 09 Jul 2013 04:10:55 -0400https://www.toptal.com/python/how-i-made-porn-20x-more-efficient-with-python
how-i-made-porn-20x-more-efficient-with-pythonGERGELY KALMAN, RECRUITING ENGINEER @ TOPTAL