It’s already been more than a year since Rails 5.0 was released — in fact, Rails 5.2 is now around the corner. Some of you may still be using version 4.2.x and feeling good about it. There’s nothing wrong with you. On the flip side, in my opinion, you should consider the migration. Below are some of my thoughts on why companies need to do it.
Over the past 30 years, we have witnessed the innovation of everyday products on a historic scale. This innovation has transformed even our most basic institutional, cultural, social norms and practices — and it’s happening faster than ever before. For example, the data storage market saw this as floppy disks evolved into CDs, CDs evolved into flash drives, and flash drives evolved into cloud storage all within a few decades. Technological breakthroughs that can be deemed lifechanging are constantly emerging. Competition is now a factor that even the largest enterprises have to take into consideration; and with agile startups hubbed all throughout the world, those enterprises are just one disruptive idea away from meeting their maker.Read More
The Golden Age of Python
With a vibrant multi-million-user community, Python is currently the fourth most mentioned language on the TIOBE index. Originally conceived in 1989, Python enjoyed a modest user base until it exploded in the early 2000s, when Google adopted it as a major implementation language. Now a staple for many companies, Python has become the top language for coding education and technical interviews.
So, what are the factors that have made Python so popular?Read More
Numerous articles and books have been written about scalability and capacity planning. However, sometimes the hardest part of the job is to avoid overengineering and keep relevant concepts as clear and simple as possible. As a Ruby and Go backend developer, I’ve discovered through experience a number of important scalability principles that can aid in the construction of a wide variety of software projects. In fact, these basic rules can be applied to numerous architectural challenges with successful results.
Scalability vs. Performance
Let’s start with some sad news. Scalable code is usually computationally inefficient. If you split a big, complex task to a set of small associative operations, the unfortunate reality is that it will probably run slower on one machine. But this approach is still preferable to support unlimited horizontal scaling. Obviously, hitting the ceiling of vertical growth is much more likely.
Big companies are often dependant on software systems to support complex purposes ranging from project management to human resource objectives. Many of these businesses understand why powerful software tools make a significant difference in accomplishing such critical tasks. Yet they aren’t as knowledgeable concerning specific programming languages like Golang and its ability to streamline their overall functions. Therefore, companies such as Sphere Software can help educate corporate managers on Go’s capacity for a wide array of development responsibilities.
The process of writing and maintaining large software systems is often a challenge, especially whenever team members change. But Go has the capacity to diminish these risks through safeguards that protect the language while simplifying its functions to create a more manageable learning curve for entry level developers. Additionally, Go has the built-in advantage of addressing ineffective, complicated code while adapting the codebase at the same time. In a nutshell, this means that Go makes it easier for you to bring new developers into an existing project. By taking advantage of its numerous strengths, your company can minimize certain complications within projects and bring down the cost of development. Read More
Problem: What is the best way to create a living, breathing Roadmap that follows the reality of an Agile development life cycle without much overhead required to maintain it?
One of our clients came to us with the problem above. For this post, we will call this client – Master Splinter. They have been using Atlassian’s Jira Software for a while now and have realized that with all this data they have accumulated within Jira, they should be able to do a much better job at predicting deliverables as well as be able to quickly see when timelines start shifting due to the realities of the software development processes. If only there was a tool that could easily aggregate all this data and display it for the tech and management teams to view.
I didn’t call them Master Splinter for nothing. This team was as wise as the old Sensei. They knew that Atlassian has a massive marketplace with different plugins available that do all sorts of useful stuff. However, with so many options to choose from, which is the best tool to do what they need? That’s where Sphere’s experts come in.
We talked to the stakeholders from team Master Splinter and helped identify the most important features they were looking for in this plugin:Read More
Yodlee is an aggregation service companies use to access customer financial information. Its Instant Account Verification (IAV) provides account- and transaction-level data about customer activity which companies use to perform day-to-day procedures such as loan and insurance processing.
To access this data, companies create Yodlee accounts for their customers who then search for their institutions in FastLink UI, log in to those institutions’ accounts, and link them. Once the accounts are linked, the data becomes available to the company via Yodlee API. The software developer then integrates the Yodlee API with the company’s API.
To save software developers the time and effort needed to create applications to access each specific financial institution’s API, Yodlee provides unified APIs so data can be transferred from financial institutions to the businesses seeking customer information. Yodlee supports thousands of institutions at a relatively low price, so it has become widely used by companies working in the financial sector.
Smart apps designed to make our lives easier are becoming increasing popular. These range from fitness trackers to lightbulb controls. When designing these apps, you may find you need to improve the user experience. Or you need to access the raw data, but setting up a full stack project would be overkill for this purpose. That is when Electron comes into play.
Electron is a new way to develop modern desktop apps with all the power of Node.js, HTML, and CSS. You can easily complete a functional app in a short time frame, which could solve 80% of your day-to-day needs.
In this example, we are going to explore the Electron universe by creating a simple app that will give us access to the IoT world. Integrating scales from Xiaomi, we will build a “Smart Scale” app that will show the user’s weight in real time. With Electron, the data will be collected and presented in a nice, clean format. Read More
“Nothing is more powerful than an idea whose time has come.”
– Victor Hugo
“Design is really an act of communication, which means having a deep understanding of the person with whom the designer is communicating with.”
– Donald A. Norman, The Design of Everyday Things
For decades, critical analysis has held sway in business problem solving protocols. The process involved breaking down intricate complexity into smaller components in order to figure out the specific issue. Analysis of this sort is achieved by understanding the individual parts. Unfortunately, this exercise has become mandatory on some level because today’s business world can be unpredictable and easily disrupted. So for organizations to both survive and thrive, new methods need to be generated that embrace the volatile nature of contemporary business from a creative perspective. Essentially, it’s an evolutionary practice derived from creative thinking, which involves a company’s full team effort. Read More
Reasons to create autotests
BI solutions are usually designed to help businesses make decisions about their companies. Can you imagine a situation in which a decision is made based on incorrect data? It could lead to serious problems for the company. It is therefore very important to have trusted and reliable data in your BI system. One possible method of detecting incorrect data is the implementation of autotests. They may be used in different phases of your BI system. You may use them in the development process of your BI to make sure that any changes made are expected and acceptable. Autotests can also be used as part of your daily ETL. You can flag errors in critical data or even roll back new data to its previous version in your BI system. Read More