If you enjoy the subject of human cognitive biases, you should check out the curse of knowledge. When dealing with others, we tend to assume they know what we know. And we do this when no justification for the assumption exists. Do you fancy a more concrete example? Take a new job and count how many people bombard you with company jargon and acronyms, knowing full well you just started a few hours ago.
Dive into the world of caching and optimization techniques with PHP's memoization. Learn how this powerful tool can revolutionize your code, reduce redundant computations, and supercharge your application's performance.
Moesif is offering a new Envoy plugin for Envoy’s latest proxy supporting WebAssembly. Envoy is an open-source edge and service L7 proxy designed for cloud-native applications. Originally built at Lyft, it’s now part of the Cloud Native Computing Foundation. It provides a universal data plane API and is commonly used as a service mesh in microservices architectures, where it provides advanced load balancing, and API observability.
As part of our mission to serve developers, product managers, and other Moesif users better, we’ve teamed up with the API experts over at WSO2 to connect the capabilities of Moesif and Choreo. Choreo was created by WSO2 to push forward the next generation of application development. Inside Choreo is a SaaS application development suite designed to accelerate the creation of digital experiences.
We recently sat down with several supply chain experts to identify the trends impacting global supply chains and what to expect going forward. KPMG Partner Peter Liddell weighed in on everything from the continuous disruption caused by materials shortages and geopolitical conflict to best practices for adapting to these challenges.
The mobile app development process is complex and requires continuous monitoring and improvement. Mobile CI/CD enables developers to automate the entire mobile app development process — making it faster and more efficient.
Welcome to the final part of our Express to Fastify series. In the previous installments, we explored the unique features and advantages of Fastify over Express. Now, you'll put what you've learned so far into practice by migrating an existing Express application to Fastify. You'll avoid rewriting an entire application from scratch by gradually transitioning to Fastify.
This article covers the use of bundler features to secure Ruby applications. In this day and age, we have to be more and more careful about software supply chain security. We'll show you how to start this journey by relying on a Gemfile and bundler to manage your project's dependencies. By the end of the post, you will better understand how bundler audit and bundler outdated work. Both can help you monitor the security state of your project's dependency tree. Let's dive in!
Let’s talk about the world’s currently trending topic for a second: AI. Now, before you click out of this blog, sighing to yourself that this is yet another blog that wants to tell you how to write code with ChatGPT; bear with us. As almost everyone has used some form of AI – especially ChatGpt – to help them with some form of a task, we can all agree that it’s quite an interactive experience.
Not even Tim Berners-Lee, the inventor of the world wide web, could have predicted the pace or breadth of its expansion over the last 30 years. Once, the web was only accessible via clunky desktop computers: today, it can also be reached from laptops, tablets, mobile phones and even smartwatches. What’s more, consumers want native apps that are unique to a particular platform and they expect updates to be provided seamlessly.
In January 1983 the computing world changed forever: Lotus 1-2-3 was released. This early spreadsheet program for IBM PCs ushered in the modern business computing environment by providing business users with a way to take ownership of their own solutions. Instead of relying on the IT department, users could use 1-2-3 to build applications by themselves, ushering in the era of end-user computing (EUC). Fast forward to today, and end-user computing is as popular as ever.
Ancient Greek mathematician Archimedes once said, “Give me a lever long enough and a fulcrum on which to place it, and I shall move the world.” He was right. When you intelligently use the right tools, you can move worlds and accomplish what on the surface seems impossible. Right now, developers are doing the impossible—building applications in record time that truly transform industries, improve business processes, and unlock radical productivity.
Learn how to create apps that can display information in different languages based on user preferences. In this article, we'll walk through the process of building a weather application with multi-language support using react-i18next.
If you’ve ever been enraptured by the magical world of gaming, you’ve likely encountered Blizzard Entertainment. Known for its high-octane, immersive games, Blizzard has long been a beacon of quality in the gaming universe. Their latest offering, Diablo 4, has taken the gaming community by storm, breaking records and setting new standards for commercially and technically successful game launches.
Welcome to the world of vector databases, where data storage and retrieval take on a whole new dimension! Let's start with the basics. In a vector database, data points are represented as multi-dimensional vectors, where each dimension captures a specific feature or attribute of the data. These vectors encode the essence of the data, allowing for efficient analysis, comparison, and retrieval.
Bitrise streamlines Apple device management by introducing automatic device registration and enhanced control over device registration, simplifying the process and saving you time and effort.
Optimizing your Laravel application is key to delivering an exceptional user experience. From faster response times to reduced server load, learn how to unlock the full potential of Laravel and take your application to the next level.
Seattle, WA, June 28, 2023 — On stage at Collision Conf in Toronto, NodeSource, Inc., the leader in enterprise-grade solutions and support for Node.js, made two big announcements: the private beta of its groundbreaking AI Assistant, "Adrian," designed to revolutionize the way developers and DevSecOps analyze, optimize, and secure Node.js applications, and that it’s open-sourcing its Node.js runtime to enable developers access to the most advanced runtime available.
Unless you live under an actual rock and haven’t hauled yourself into modern times, I’m sure you know – and most likely use – JavaScript. You know, the versatile and dynamic programming language that powers the web and beyond. From client-side scripting to server-side computing, and even robotics, JavaScript is everywhere. However, like any good craftsperson, a JavaScript developer knows that their work is only done once it’s been tested.
Welcome, fellow programmers, to the world of clean and efficient code! Imagine this: you’re staring at a piece of code that looks like a tangled mess of spaghetti, and your brain feels like it’s doing gymnastics in a clown costume. But fear not, for I bring you the sacred “7 Secrets to Writing Clean and Efficient Code Every Programmer Should Know.” So grab your coffee mugs, put on your coding capes, and embark on this epic quest to conquer the wild beasts of code chaos!
Lambdas are a powerful programming construct used in many languages. These functions allow developers to write code that is more concise, efficient, and easier to maintain, making Lambdas an essential part of any developer's toolkit. In this article, we'll explore how you can use Lambda functions in Ruby to simplify your code and make it more powerful.
The Titans of Tech report analyzed more than 100 European startups for scale, velocity and sentiment, and surveyed their GP. Bullhound network of more than 120 VC and growth investors to rank the top 50 companies with the most potential to become billion-dollar companies in the next two years and Bitrise has made that list!
In mobile development, flaky tests are a persistent issue. They’re frustrating because a test is ‘flaky’ when it produces both ‘passing’ and ‘failing’ results from the same code. This wastes developers’ time by triggering unnecessary investigations and delays the integration of their code.
It has never been more critical for developers to work in a collaborative and coordinated environment. Software development, if you ask any quality development squad or team, goes beyond just the delivery of the end product. It is not just about what you produce, but how you produce it. And that points to having the right software development tools.
Leaders are taking a closer look at bank stress testing in the wake of recent bank failures. The significant impact of these collapses on the financial system, along with the government's extensive measures to prevent additional bank failures, is increasing the sense of urgency around enhanced regulatory supervision.
If you want insights into your application's exceptions but don't have time to invest in adding verbose logic to your code, we've got some exceptional news: The AppSignal for Ruby gem 3.4.1 now supports the Rails error reporter! With this change, you can simplify your AppSignal integration, streamline your code and begin reporting errors on the fly without raising an error page and interrupting your user's flow.
Phoenix 1.7 came out this year with a whole host of exciting features, including verified routes and some great built-in Tailwind components. These components are a fantastic start, but they are not made to be a fully general design system. We should expect to modify components to fit our specific needs. However, knowing where to start can be difficult. In this three-part series, we'll take a fresh Phoenix app and create a working UI using generated components.
Calling all new Bitrise customers. Get ready for an incredible journey of mobile DevOps exploration and innovation with our enhanced free trial experience.
Explore the future of asset pipelines in Rails with Propshaft! Discover how this cutting-edge technology enhances the management and delivery of assets while simplifying your development workflow.
In this guide, you will learn the advantages of migrating from Python to Go, common challenges, different approaches to migration, and two methods for migrating: manually vs. with the gopy package.
The first quarter of 2023 was quite a rollercoaster ride for the banking industry, marked by not one but two of the largest bank failures in U.S. history. As a result, regional banks took a hit as well, losing nearly $200 billion in deposits in just one week, according to the Federal Reserve. Because regional and smaller banks in the U.S. make up over a third of total bank lending, any pullback in credit provisioning could undermine financial stability and growth. The bottom line?
A hands-on guide to using Bitrise Pipelines to speed up your mobile CI/CD Workflows.
Cabify, a leading ride-hailing company, revolutionized its mobile engineering process by focusing on improving app quality and performance, resulting in faster release cycles and top-notch user experiences.
A paradigm shift is overdue in the realm of software observability. While Site Reliability Engineers (SREs) have been having fun with metrics, traces, and logs, software developers have been left in the lurch, shackled to the conventional, low-fidelity tool of logs. Why should SREs have all the fun, right? Welcome to the dawn of a new era. An era where developers, too, can enjoy superior observability engineering. That’s where the fourth pillar of observability comes in: Snapshots.
In our last post, we examined the most common ways to organize business logic in Ruby on Rails. They all have advantages and drawbacks, and essentially, most do not leverage the full power of Object Oriented Programming in Ruby. This time, we will introduce another alternative that more naturally fits the mental models we apply when reasoning about the behavior of our applications: DCI.
Puppeteer is a powerful browser automation library for web scraping and integration testing. However, the asynchronous, real-time API leaves plenty of room for gotchas and antipatterns to arise. This article is part of a series, starting with Avoiding Puppeteer Antipatterns and Puppeteer in Node.js: Common Mistakes to Avoid. In this post, we'll add another dozen antipatterns to the list. There will be no overlap with previous installments, so you may wish to start with those.
Do you know that log files in Linux can quickly consume disk space if not managed properly? This can lead to performance issues and even system crashes. Log files? What exactly are they, and why should they matter to anyone using Linux-based systems? Log files are essential components of any Linux-based system. They are text files that contain information about system events, including errors, warnings, and other important messages.
Bitrise’s mobile DevOps platform has been named in the exclusive Gartner Magic Quadrant for a brand new category: DevOps Platforms.
To err is not only human but also a fairly common occurrence on the world wide web. From misconfigured servers to mistyped URLs, three-digit error codes can turn an otherwise smooth browsing experience into a frustrating detour. From the infamous 404 to the more elusive 500, this guide is your compass to troubleshoot, decode, and resolve these digital stumbling blocks.
What can process automation do for your organization and how does it differ from other types of automation? This primer will get you up to speed on process automation essentials and explain the basics of this important tech trend to help you get started.
This comprehensive guide walks you through building a scalable and natively efficient full-stack web app using JavaScript and popular serverless providers. Learn how to build a serverless backend from scratch for full-stack web app development.
When working with Python, attempting to access an index or slice of an object that has the value None may result in TypeError: 'NoneType' object is not subscriptable. Let’s delve into why this TypeError occurs and how to resolve it. None is a unique constant in Python that stands in for the lack of a value. It is employed to show that a variable or expression does not possess a value. The Python built-in class NoneType has an object called None that belongs to it.
In the fast-paced digital landscape of 2023, frontend development plays a crucial role in creating engaging and interactive websites. To excel in this field, developers need to harness the power of the right tools and technologies.
“Data is knowledge, knowledge is power, and bad data equals bad decisions,” says Appian Senior Solutions Consultant Ben Crawley. We’ve all felt the sting of poorly integrated solutions, hard-to-access information, and sometimes, inaccurate data. This “bad data” is often the result of information that’s spread across different systems, creating data accuracy challenges and preventing you from having a single source of truth for your organization's information.
Have you recently felt your react codebase has become unmanageable and produces an exponential amount of bugs? If yes, using React as a standalone library might be the root of the problem. React codebase tends to expand quickly in the long run, making it harder for developers to maintain accuracy in the long run. One of the alternatives for building a sustainable codebase in React is to combine it with efficient programming languages such as Typescript.
Think about a time when insufficient information or inaccessible data slowed you down from completing an assignment. Or maybe a time when your work required a lot of manual data entry that caused human error and rework, taking time away from higher value tasks. These moments of process frustration and inefficiency are exactly what workflow optimization can help with. Workflow optimization describes the strategies and measures taken to improve the flow of tasks and make processes more efficient.
The POST method is a crucial part of the HTTP protocol that allows data submission from clients to servers. Unlike other methods like GET, POST sends data in the request body, making it ideal for secure and confidential information. By understanding the POST method, you can enable powerful functionalities such as form submissions, resource creation, and API operations. One of the distinguishing features of the POST method is its ability to handle sensitive and confidential data.
Elasticsearch Mapping is a process of defining the schema or structure of the data that is going to be indexed and searched. Mapping determines how Elasticsearch will interpret and handle the data being indexed, including the field names, data types, and how they are analyzed and indexed for search. Mapping in Elasticsearch is essential for ensuring that the data is indexed and searched accurately and efficiently.
In this guide, Viktor Gamov (Principle Developer Advocate at Kong) will dive into the power of Kong Konnect, the SaaS managed control plane for Kong Gateway designed for seamless API management. We’ll explore how to use Kong Konnect to configure external services, enable application registration, configure Dev Portal, use credentials to manage services access, and replicate configurations across different environments with just a few clicks. Let’s get started!
As a developer supporting a growing business, you’ll likely spend a lot of time thinking about scaling. We live in a wonderful time to be solving scale problems. Computers are so fast and capable that many of the development decisions you make when writing backend systems won’t noticeably impact performance(until your app reaches an absolutely massive scale). If this weren’t the case, we’d all be writing web servers in C.
In our introduction to Absinthe, we covered the basics of Absinthe and GraphQL for an Elixir application. Now we'll dig deeper and see how we can customize Absinthe for larger-scale Elixir applications. Let's get going!
If you think workflow orchestration sounds like tech jargon, check out this simple explanation and consider practical advice for how to apply it to your business processes. Let’s start with the basics: what is workflow orchestration? Put simply, workflow orchestration is the end-to-end management of people, digital workers, systems, and data in a process.
Process mining is a trusted tool for continuous improvement. It helps you understand your business processes as they actually are, shows you all of the variants and deviations, and provides suggested explanations for why process problems are occurring. Knowing how process mining works is one thing—putting it into practice is another. How do you know what makes a process a good candidate for mining? And how can you build a business case that a process needs to be mined?
Artificial intelligence (AI) has reached a tipping point in the public consciousness. Much of this has been driven by technology developments related to large language models (LLMs) and the release of generative AI tools, including ChatGPT from OpenAI. However, for enterprises shaping forward-looking AI strategy, a critical part of the conversation that needs to be addressed is the issue of private AI vs. public AI.
The npm createerror package is a helper that allows you to easily create custom error classes in Node.js. It provides a simple API to define and extend error classes with customizable properties and methods.
Restarting a Kubernetes pod can be necessary to troubleshoot issues, apply configuration changes or simply ensure the pod starts fresh with a clean state. With the power of kubectl, you’ll be able to gracefully restart pods without disrupting the overall application availability. This post will walk you through the process of restarting pods within a Kubernetes cluster using the command-line tool, kubectl. Let’s dive in and learn how to effectively restart Kubernetes pods using kubectl!
A WYSIWYG editor provides a rich text editing experience for users, allowing them to easily format text, add images and links, and more. In this article, you will learn how to build a WYSIWYG editor for a React application using CKEditor 5.
New to ecommerce and want to set up your store? It is such an exciting time for you, but have you decided what platform will be best for you – Shopify vs Wix? It is quite a confusing question for many who will take their first step toward online business. Not everyone in this world can be a tech geek, so for the readers who are still in the phase of choosing between the best ecommerce platforms, this article will help. Before comparing both, let’s start with basic information.
Many API developers and companies struggle to find ways to easily set up systems to monetize their APIs. Some are simple but not customizable, some are complex and require massive engineering effort to actually get it all running. To make things easier, Moesif created a feature a few months ago called Billing Meters which gives massive customizability but with a minimal amount of code and engineering effort.
Welcome to the fascinating world of Payment APIs! Imagine you're a budding entrepreneur with a brilliant idea for an online store. You want to offer a seamless payment experience to your customers, ensuring smooth credit card transactions and hassle-free order tracking. But where do you start? That's where Payment APIs come into play! Now, let me ask you a question: Have you ever purchased something online using your credit card? Of course, you have!
Application Programming Interface (API), is like a hidden gateway that holds the key to unlocking a world of interconnected possibilities. An API acts as the intermediary software that sends a request to a server and subsequently transmits the server's response back to the client. It acts as a secret passage connecting various software systems, enabling them to communicate, collaborate, and exchange information seamlessly.
Almost every modern web browser includes a powerful suite of developer tools. In our previous blog-post we covered How to Measure Node.js server response time with N|Solid, read more 👉 HERE. The developer tools have a lot of capabilities, from inspecting the current HTML-CSS and Javascript code to inspecting the current ongoing network communication client-server.