In the past, enterprise software focused on protecting network access through on-premises firewalls and VPNs, working on the assumption that everything within the network was secure. However, today, as accessing data has extended beyond on-premises locations to cloud and hybrid networks, SaaS platforms require a security model that can address a broader range of attack vectors. Zero Trust security addresses this pressing need.
In November of 2014, when NodeSource was still a small consulting group, my teammates Dan Shaw, Rod Vagg, and I were having dinner after a customer engagement, discussing how to bring Node.js production deployments to the same level of polish and tooling capability of the other runtimes our customers were already employing.
The software industry has evolved more quickly in 10 years than most industries do in 1,000, yet we continue to grapple with the basic elements of date and time. Practically all our apps rely on time in some way, and when our users are spread all over the world it can be fiendishly difficult to get the timestamps right. Kotlin language, the dominant Android programming language, provides native classes (or blueprints) to help us deal with date and time.
In most working environments, there are two things people tend to dislike: First, excessive meetings that prevent employees from making progress on their to-do lists. And second, paperwork. Whether it’s processing financial statements, reading inventory forms, or completing onboarding paperwork for employees, organizations have to deal with a slew of document types to keep operations running.
Ensuring accessibility to all types of media is incredibly important, both for enabling as many people as possible to enjoy the media, as well as supporting as many ways as possible for interacting with it. Closed Captioning helps massively with ensuring video content is more accessible by providing a transcription of its audio.
When it comes to procurement in state and local government, agencies’ main complaint is that they can’t buy the goods and services they need fast enough. That’s even at agencies using a digital eProcurement system. While an electronic procurement system should in theory streamline the acquisition of goods and services, many eProcurement systems still abound with stumbling blocks. So what’s slowing down the procurement process, and how can we speed it up?
Appian Named a Leader in the 2023 Gartner® Magic Quadrant™ for Enterprise Low-Code Application Platforms. Appian Named a Leader in the 2023 Gartner® Magic Quadrant™ for Enterprise Low-Code Application Platforms. Appian Named a Leader in the 2023 Gartner® Magic Quadrant™ for Enterprise Low-Code Application Platforms. Appian Named a Leader in the 2023 Gartner® Magic Quadrant™ for Enterprise Low-Code Application Platforms.
In the fast-paced world of software development, speed and efficiency are paramount. The State of DevOps 2023 report by Google has reinforced the significance of quick code reviews, claiming that teams with faster code reviews experience a staggering 50% higher software delivery performance. This finding underscores the importance of optimizing the code review process. But how can teams achieve this improvement?
Node.js v21, the latest Node update, is now available as a stable release. It supersedes v20 in the'Current' release line, which has been promoted to the long-term support (LTS) channel as of 24 October. This new version stabilizes the fetch and WebStreams API, adds a built-in WebSocket client, improves support for ES modules, and brings some notable performance improvements (as well as a customary update of Node.js dependencies such as V8).
Miro and Figma have triggered the imagination of many developers looking to build similar collaborative features into their applications. It’s a fast developing landscape with new entrants and innovations emerging all the time across product categories - CMS to slide decks, spreadsheets to project management.
Android has surged past iOS to dominate the world’s smartphone market, but its ecosystem is growing at an exponential rate. There were more than 24,000 different Android devices at the last count, which places major strains on devs. To learn Android development, you have to learn how to optimize for hundreds of different devices. So you need a clear learning plan that can be applied to the entire Android ecosystem.
In today’s digital age, APIs have become the backbone of many businesses, enabling seamless integration and communication between applications, platforms, and users. As the demand for APIs grows, so does the need for effective API management and monetization. In this post, we’ll compare two leading API platforms, Moesif and Apigee, focusing on their monetization features.
Elixir excels at building scalable and maintainable applications. However, sometimes Elixir is not the best language to tackle specific tasks, and it can fall short in some areas, like direct system interaction. Fortunately, Elixir offers NIFs (Native Implemented Functions): a path for integrating with other languages to improve these gaps.
As APIs have become the centerpiece of online data exchange in the modern era, the need for documentation and communication between developers of these APIs and their users has become incredibly important. Effective developer communication can unlock massive potential, create new iterative success, and serve as a compounding conduit that improves the industry at large. Accordingly, developer portals have become exceptionally useful and important ways to share API documentation with API consumers.
There are as many monetization pitfalls as there are methods of monetizing APIs. As the market has shifted over the years, selling APIs and creating product userbases has become more important than ever. Today, we’re going to discuss a strategy that can lead to explosive growth – let’s talk self-service and product led growth.
Today’s world demands agility, and only the organizations with the right tools will adapt to the changing pace of business.
On this page you’ll learn more than you ever thought you needed to know about WebSockets with React, including how to build a smooth realtime cursor experience from scratch. We’ll jump into the tutorial, which uses React on the front and Node on the back soon but, first, let’s start with some general guidance when it comes to WebSockets with React.
In today's dynamic financial landscape, threats are not only escalating but also rapidly evolving. At the same time, regulators impose stricter transparency and compliance requirements on financial institutions. So, how can decision-makers navigate this challenging environment, with relentless cyber threats coming at them from one side and rising regulatory demands from the other?
As a developer, choosing the right Websocket Node library to integrate into your realtime application project can be a humbling experience. You are faced with a lot of choices that offer different capabilities and features that will allow you to build scalable and efficient applications. However, given the constantly changing landscape, a crucial question remains: have you selected the most suitable one? Are there other options that could enhance your project even more?
One of the most difficult aspects of creating an API service for public consumption is the balance between developer control and user freedom. Ensuring that users can leverage an API to new heights requires a certain amount of freedom, both in modality of usage and in applicability of the use case. The security of underlying systems and the API itself relies on controlling this usage and ensuring a level of control for the greater good.
Closed-captioning for television systems was first demonstrated in the early 1970s. Realtime closed-captioning was developed later in the early 1980s. Here, stenotype operators who type at speeds of over 225 words per minute provide captions for live television programs, allowing the viewer to see the captions within two to three seconds of the words being spoken was developed later in the early 1980s.
Gartner® released its Magic Quadrant™ for Enterprise Low-Code Application Platforms (LCAP) this week, and we’re pleased to announce that Appian is named a Leader. Gartner evaluated 17 vendors in this report to create a complete view of the enterprise low-code application market.
We are excited to share the release of our new Cost Calculator to showcase just how much the wrong APM provider can add to your cloud hosting costs (try it now). Observability is vital, but it comes with computational overhead that shares the same infrastructure as your application. This is compounded in typical Node.js APM tooling due to the internal workings of Node.js itself.
We take security seriously at Bitrise which is why we recently completed the SOC 2 Assessment to further data security. We first completed the SOC 2 Type II Assessment in 2021, since then, we renew our Assessment each year to ensure we continue to make security our priority.
In the first part of this series, we built the asynchronous components of a much larger solution. Today, we will build the API interface that can be consumed in real-time.
In part one of this series, we looked at some basic usages of Action Policy. Now we'll leverage Action Policy for more advanced authorization use cases. First up, let's explore applying pre-checks.
It's been 12 days since 61 speakers took to the stage for our 2023 Mobile DevOps Summit. There were a total of 43 sessions on day one and 13 workshops on day 2. We had a lot of content! Here are a few memorable quotes from the 2-day Summit!
As the technology landscape continues to rapidly evolve, creating a platform that introduces the correct abstractions for software development and delivery has become an increasingly compelling proposition. But the pivotal question remains: is building what’s known as an internal developer platform (IDP) or digital platform in-house the right move for your organization? The choice isn't merely technical; it's strategic.
The java.io.IOException is a checked exception in Java that indicates a problem while performing Input/Output (I/O) operations. This usually happens when a failure occurs while performing read, write or search operations in files or directories. Since IOException is a checked exception, it must be explicitly handled in methods that can throw this exception - either by using a try-catch block or by throwing it using the throws clause.
Most websites are built with high-level languages like Ruby. Developers can always optimize their code for improved performance. Yet, even with top-notch optimization practices, what if your website still lags? How could WASM help improve the performance (time and speed) of your Ruby apps? Web Assembly is a technology that allows developers to compile code written in languages other than Javascript and run it on the web browser.
Every organization has business processes, but too often processes go unimproved for years because they’re “the way things have always been”—or because the prospect of optimizing them is overwhelming. When outdated processes are shrugged at and left to run untouched, it costs your business speed and quality. And it’s not just about a better current state. Business process optimization helps you grow and innovate in a rapidly changing world.
Errors happen all the time in the software world. It might be an invalid user input, an external system not responding, or a simple programming error. In all these situations, the errors occur at runtime, and the application needs to handle them. Otherwise, it crashes and can’t process further requests. Java provides a powerful exception handling mechanism that allows you to handle the exceptional event where it occurred or in one of the higher methods in the call stack.
In the world of programming, exceptions are inevitable. They represent unexpected or exceptional events that can occur during the execution of a program. While some exceptions might be anticipated and handled gracefully, others might be unexpected, leading to application crashes or unexpected behavior. This guide delves into the nuances of exceptions in C#, focusing on the importance of handling an unhandled exception and the tools available for the same.
Imagine, you are developing Java software and suddenly you encounter errors. Where could have possibly gone wrong? There are many types of errors that you will encounter while developing Java software, but most are avoidable. If you have an error monitoring tool such as Stackify Retrace, you can write code with ease. In this article you will find: Read on to learn about the most common issues and their workarounds.
Log4j2 is the updated version of the popular and influential log4j library, used extensively throughout the Java ecosystem for so many years. Version 2.x keeps all the logging features of its predecessor and builds on that foundation with some significant improvements, especially in the area of performance. And of course, given how instrumental logging is for any application, both for audit and debugging purposes, choosing a solid logging library is quite an important decision.
In today's rapidly evolving business landscape, organizations must remain agile and adaptable to meet their unique operational needs. Traditional monolithic software applications often hinder this adaptability, making it challenging to respond swiftly to changing requirements. This is where Case Management as a Service (CMaaS) comes into play, offering a game-changing approach for organizations seeking a modular and flexible way to build software applications.
In today’s digital landscape, where websites deal with realtime data flows, keeping users informed of updates by sending alerts is critical to the user experience. One way of achieving this is in-app notifications. In-app notifications are messages or alerts that appear within a website while it's being accessed in a web browser.
Ruby is an expressive language. This is no accident; Matz very consciously designed Ruby as an intuitive language to more or less read like English. It's safe to say that he succeeded. Methods are named very carefully, and do what they say they do; they also tend to have inverse methods which do the opposite. In this post, we'll look at why expressive code is important and its impact on your productivity as a developer. Then, we'll explore how to best use some of Ruby's methods. Let's get started!
React notification libraries lay the groundwork for most notification systems in React based web applications - streamlining the process for developers to construct and display alerts effectively. There are a number of different React notification libraries available, each with its own unique features. In this article, we'll discuss some of the most popular options, and help you to choose the right one for your needs.
In this first part of a two-part series, we'll explore how to avoid bad data and validate data at the boundary of a Phoenix application. We'll use a few techniques to ensure that bad data doesn't degrade our application. In part two, we'll specifically focus on leveraging Ecto under the hood to cast data. Let's dive in!
Choreo now allows you to specify WSO2’s Micro Integrator runtime version and update level when deploying integrations. Previously, Choreo defaulted all deployments of WSO2 Micro Integrator projects to a specific runtime version and update level. With this improvement, developers can specify the exact runtime version and update level required for their integrations. This improvement simplifies the development and troubleshooting process for integration developers.
Unity is one of the top game engines used today, according to a recent survey from video game development professionals across the globe. It’s often used alongside Helix Core. In 2020, Unity acquired the version control tool Plastic SCM, which they renamed Unity Version Control. Here, you’ll learn about Unity Engine, Unity Version Control, and the key to finding the best version control system for Unity.
Some processes feel like getting teeth pulled without novocaine. Whether it’s excessive data entry, completing onboarding paperwork for HR, or crafting weekly reports, nearly all businesses have some processes that can be better designed, automated, and optimized. Streamlining these processes can help improve operational efficiency, boost the bottom line, and improve morale for business users.
We're delighted to unveil Choreo API Chat, Choreo's innovative approach to interacting with APIs, powered by Generative Pre-trained Transformer (GPT) 3.5 large language model (LLM) from Azure OpenAI. This allows users to try out APIs running or proxied via Choreo using natural language, serving as a complementary tool to traditional methods. It offers a convenient way to quickly try out endpoints without delving deeply into API specifications or crafting intricate JSON payloads.
Choreo is an internal developer platform where you can develop, deploy, and manage your cloud native applications with minimal effort. Authentication and authorization are essential to consider when restricting access to your application. Determining the legitimacy of the consumer of your cloud application is the main purpose of authentication. Authorization guarantees that the consumer has the necessary permissions to access your applications.
What do Microsoft Word and Adobe have in common? Both had established market spaces completely disrupted by new entrants that brought realtime collaboration to the user experience. Whilst the barrier to entry for adding features akin to Figma, Google Docs, and Miro had been high, it is now possible to build new collaborative applications, or even simply add collaborative features to existing applications – without building the realtime infrastructure that powers them.
The localStorage is not defined error generally occurs when you try to access the localStorage object in JavaScript, but the browser environment where your code is running does not support it. Using the localStorage web storage API, web applications can store key-value pairs locally in a web browser, allowing you to persistently retain data on the client-side even if the user shuts their browser or navigates away from the website.
The popular deep learning and natural language processing framework PyTorch is renowned for being user-friendly and adaptable, so what’s the deal with the IndexError: index out of range in self error? This happens when a PyTorch embedding tensor attempts to access an index that is out of bounds. A lookup table that converts integers into vectors of real numbers is known as an embedding tensor.
Contract management is a crucial aspect of state and local government operations for procurement, service delivery, and ongoing vendor performance oversight. Effective contract management is essential to ensure that taxpayer dollars are spent wisely and that goods and services are delivered efficiently and effectively.
More aspects of our work and life are online than ever before, and the trend towards remote work and increasingly remote teams is set to continue. Whilst we enjoy the freedom and flexibility that remote work provides, remote teams also face a significant challenge: establishing (and desiring) a sense of connection despite the physical distance between individuals.
Business process management (BPM) and workflow are both commonly used terms in discussions about business operations. While they’re related, they’re not the same. What’s the difference? Business process management (BPM) is a discipline designed to manage processes across an entire organization, from as small as tracking a team budget to as large as supply chain management for a company. Workflow is how a process is concretely represented in tasks, assignments, decision logic, etc.
Bitrise now offers comprehensive support for building with Unity software, streamlining the development for Apple Vision Pro spatial computer mixed realities, mobile gaming, metaverses, and immersive AR/VR worlds.
To keep your app secure, you need to control who and what can access it. Access control can be categorized into authentication — "who" to allow — and authorization — "what" they can access. Authentication is a subject for another day, but when it comes to user authorization, you generally have two ways to go about it: using a role-based or resource-based strategy. In this two-part series, we'll take a deep dive into using the Action Policy gem for a Ruby on Rails blog application.
Complex functionality can take a while to load. Users, in general, don't like to wait, so solutions must evolve. If you are already familiar with async/await in JavaScript, think of await as the place where blocking logically occurs. This forces the algorithm to wait, and technically, it's still synchronous code. Step functions allow long-running processes to run in the background asynchronously, so the logic does not get blocked and force people to wait.
Bitrise addresses the 25% test execution slowdown in Xcode 15, offering solutions like using the yeetd open-source tool and M1 Max machines for faster test execution, while awaiting anticipated fixes in upcoming Xcode 15.1.
This post will walk through the creation of a realtime chat application with Next.js and deploying it to Vercel.
One of the main challenges API producers face is making improvements and enhancements to their APIs without getting their clients to upgrade API versions (i.e., change their applications). We're excited to introduce semantic version-based intelligent routing in Choreo, making API consumption easier than ever. This feature groups APIs into their major versions, and the corresponding URLs are simplified to include only the major version number.