Downtime is the biggest nightmare for organizations that capitalize on technology. A study about enterprise outages found that nearly 96 percent of enterprises had faced downtime in the past three years. Businesses lose a minimum of $1.55 million annually and 545 hours of staff time due to IT downtime. Up to 51 percent of downtime is preventable, which means businesses are spending on damage control when these resources could be diverted to something more fruitful, like R&D.
Erlang & Elixir are ready for asynchronous work right off the bat. Generally speaking, background job systems aren’t needed as much as in other ecosystems but they still have their place for particular use cases. This post goes through a few best practices I often try to think of in advance when writing background jobs, so that I don’t hit some of the pain points that have hurt me multiple times in the past.
An SCM such as Git is more than just a database for source code. It’s not only the thing you need to interact with to get code to production, but also a log of changes on a project. It’s not just the last couple of weeks of commits that are worth looking at. Any commit remains relevant weeks, months and years later. A commit serves multiple purposes. The first one is to explain a change during its review and the second is to explain a change to a future reader.
Desktop applications are self-contained programs that operate without any external hosting software. While a web application typically requires a web server to translate the program into HTML content for the web browser to consume, desktop applications deliver the service directly to end-users. We use a number of desktop applications day to day, like conferencing tools, stock management software, source control desktop applications like GIT and Tortoise, photo editing tools, and so on.