Concurrency is not something that most people think about on a daily basis; however, it benefits most of us throughout our day. Whenever we ask our technological devices to perform multiple tasks, either within one application or across multiple applications, our device is using concurrency to make it happen. Thanks to concurrent programming, our devices are able to multitask at the same rate that we do.
Text editors are computer applications that edit plain text. Text editors are fundamental to our work and developers tend to have very strong opinions about which one is the best. In this blog post I’ll discuss some of the history of computing with respect to text editors, and the pros and cons of two of the text editors that developers have a love/hate relationship with – eMacs and Vim.
It is officially mobile OS season – Android and iOS have both recently announced the new mobile updates that will be available between now and September 2020. In this post, I’d like to talk about the operating system changes that I believe are the most important, the general themes of the announced updates, and how the two operating systems are slowly converging with each new release.
As a company that provides an array of different services for clients, one of the things that we’ve always had to do is manage which employees are assigned to which projects. This includes making sure that their skill sets line up with the project requirements, knowing when team members will be available to move to a new project, and making sure that no one is either over or under utilized. This process is called “resource allocation.”
One of the major points that companies must consider these days is how to store, sort, and manage the user data they receive. Especially since the implementation of online information regulatory policies such as the General Data Protection Regulation (GDPR) and the California Consumer Protection Act (CCPA), companies must take care to ensure they are managing, storing, and deleting user data in accordance with the applicable regulatory standards.
As I discussed in my post Designing Cross-Cultural User Experiences, designers must consider a myriad of points when creating a product that is both accessible and enjoyable for people of multiple countries and cultures around the world. Because different people experience the world through different cultural lenses, it is important to consider how the design of an application is interpreted in different places.
Recently, I have been working on a migration project for a client that has presented a number of interesting challenges. In this blog post, I will identify some of the challenges we have faced on this project and discuss the solutions we developed to combat them.
At Grio, we offer a wide range of services focused on helping our clients optimize their web presence. One such service is A/B testing. A/B testing, also known as split testing, is a marketing experiment that compares two versions of your content by “splitting” your audience and analyzing which variation performs best. In other words, you create a variant of your content, then show version A to one half of your audience and version B to the other half and analyze the results.
Elixir is a dynamic, functional language designed for building scalable and maintainable applications. It leverages the Erlang Virtual Machine, which is known for running low-latency, distributed, and fault-tolerant systems. In this post, I’ll talk a bit about Elixir’s history and current uses, and demonstrate some of its basic types and functions.