Stifling Creativity in the Name of Data

In the modern software development landscape, data reigns supreme. Product decisions are driven by customer feedback, analytics rule the roadmap, and ideas face endless validation before seeing the light of day. But are we sacrificing creativity in the quest to remove intuition and guessing from the equation? 

Buildkite's CEO Keith Pitt believes we just might be. While data and metrics fuel today's development, Pitt argues that breakthrough products don't spring from spreadsheets. "Innovation does not come from focus groups," he asserts. "Customers aren't good at ideation."

Modern gRPC Microservices: REST Gateways, Part 2

As a quick recap, in Part 1:

  • We built a simple gRPC service for managing topics and messages in a chat service (like a very simple version of Zulip, Slack, or Teams).
  • gRPC provided a very easy way to represent the services and operations of this app.
  • We were able to serve (a very rudimentary implementation) from localhost on an arbitrary port (9000 by default) on a custom TCP protocol.
  • We were able to call the methods on these services both via a CLI utility (grpc_cli) as well as through generated clients (via tests).

The advantage of this approach is that any app/site/service can access this running server via a client (we could also generate JS or Swift or Java clients to make these calls in the respective environments).

Sentiment Analysis: How Amazon Aurora Machine Learning and Comprehend Can Revolutionize Customer Review Analysis

Sentiment analysis can be used to determine what people think about the products or services they use. Human emotions in customer reviews captured as text data can be examined and interpreted by natural language processing algorithms (NLP). Organizations that understand the value of sentiment analysis can use it effectively to gauge customer satisfaction, tailor their offerings, and improve their services based on real feedback.

In the world of e-commerce and online services, customer reviews contain tons of information about their behavior. A detailed analysis of these reviews can reveal important information on the tastes and habits of customers, the features they find useful, and whether a product or service fits into their lifestyle. Sentiment analysis is the process of scanning these reviews and categorizing them as positive, negative, neutral, or mixed. The process of sentiment analysis thus allows organizations to understand customer views at scale enabling them to respond to market trends and stay ahead of potential competition.

Code Search Using Retrieval Augmented Generation

Retrieval Augmented Generation (RAG) is becoming a popular paradigm for bridging the knowledge gap between pre-trained Large Language models and other data sources. For developer productivity, several code copilots help with code completion. Code Search is an age-old problem that can be rethought in the age of RAG. Imagine you are trying to contribute to a new code base (a GitHub repository) for a beginner task. Knowing which file to change and where to make the change can be time-consuming. We've all been there. You're enthusiastic about contributing to a new GitHub repository but overwhelmed. Which file do you modify? Where do you start? For newcomers, the maze of a new codebase can be truly daunting.

Retrieval Augmented Generation for Code Search

The technical solution consists of 2 parts.

Dockerize a Flask Python App: Step-by-Step

What if you were asked to deploy your Python Flask application or Dockerize a Flask app 100 times a day on a virtual machine? This would be a tedious and frustrating task, as most people would agree. This article shows you how to Dockerize a Flask Python application to overcome the above scenario.

Setting up a machine manually to deploy your Python Flask application multiple times can easily lead to human error and increase the chances of missing certain dependencies. It takes plenty of time to figure out the errors, fix them, and then deploy the applications.

Hardening Apache APISIX With the OWASP’s Coraza and Core Ruleset

The Open Worldwide Application Security Project is an online community that produces freely available articles, methodologies, documentation, tools, and technologies in the fields of IoT, system software and web application security. The OWASP provides free and open resources. It is led by a non-profit called The OWASP Foundation. The OWASP Top 10 - 2021 is the published result of recent research based on comprehensive data compiled from over 40 partner organizations.

OWASP website

How To Become an AI Expert: Career Guide and Pathways

Artificial intelligence (AI) is one of the twenty-first century's most exciting and rapidly developing fields. Artificial intelligence has the potential to transform a variety of industries, including education, healthcare, retail, e-commerce, public relations, small businesses, recruitment, services, and manufacturing.

AI can also improve the quality of life for millions of people worldwide by solving complex problems, increasing efficiency, and developing novel solutions.

Best Practices To Create Highly Secure Applications in Mule 4

In this blog, I would like to share a few best practices for creating highly secure applications in Mule 4 (security at various levels/layers — application, data, etc.) for all deployment options.

Most of the configuration details (relevant to security) shared here are taken from MuleSoft documentation/articles/blogs.

Good Application Security Posture Requires Good Data

The term 'security posture" is used to describe the state of an organization's overall security and response readiness. Multiple solutions are emerging that aggregate findings to provide a holistic view of enterprise security risks.

Security posture can also be seen as a way to prioritize security efforts, helping you answer the question, "What should we work on next?" based on balancing risks by analyzing in-context data and weighing the remediation efforts required.

Mastering Test Code Quality Assurance

Over the years, many articles have highlighted the importance of unit and integration tests and their benefits. They enable quick and accurate identification of errors, simplify the debugging process, support safe refactoring, and prove invaluable during code reviews. These tests can also significantly reduce development costs, help catch mistakes early, and ensure the final product aligns well with its specifications. As such, testing is often viewed as a central part of the development process. However, within the developer community, it's become clear in recent years that merely having unit and integration tests isn't enough. A growing number of blog posts and articles emphasize the need for well-structured and formatted tests. So, why is this aspect so crucial?

Best Practices

In short, poorly formatted tests or those exhibiting anti-patterns can significantly hamper a project's progress. It's not just my perspective. Many articles stress the significance of well-structured tests
and provide best practices and insights on this topic.

A Comprehensive Guide To Achieving SOC 2 Compliance

Data security and privacy are one of the top priorities for organizations and their clients in the current digital era. Industry standards and regulatory frameworks have been developed to make sure that businesses manage sensitive data appropriately. The SOC (System and Organisation Controls) 2 is one such standard.

Obtaining SOC 2 compliance demonstrates an organization’s commitment to data security and privacy, which can enhance trust and confidence among customers and partners. It’s particularly relevant for businesses that handle sensitive or private data, such as technology, healthcare, finance, and other sectors. In this blog post, we’ll define SOC 2 compliance and walk you through the various phases and processes you can follow to achieve it.

Unleashing the Power of WebAssembly to Herald a New Era in Web Development

The continuous upgrades in the landscape of web development are empowering software developers every day with all the leverage they need to enhance performance, improve efficiency, and create richer user experiences across various domains. Enter WebAssembly (Wasm), a game-changing technology that is setting the stage for a new era in web development. Follow along as we delve into the intricacies of WebAssembly, discuss its impact on web development, and understand how it's becoming an indispensable tool in a developer's arsenal for all the right reasons.  

But first, let’s find out what WebAssembly is. 

A Guide To Visual Regression Testing With PlayWright and How to Get Started

I’m pretty sure that you’ve had a situation where you deployed a major UX change on your web app and missed the most obvious issues, like a misaligned button or distorted images. 

Unintended changes on your site can cause not only a sharp decline in user satisfaction but also a large fall in sales and customer retention. By identifying and resolving these discrepancies before the update went live, you could have prevented these outcomes.

How To Build a Task-Tracker Application in Minutes Using TiDB Cloud Data Service and Vercel

In our previous post, we introduced TiDB Cloud Data Service (TCDS), a fully managed, low-code backend-as-a-service solution. By seamlessly integrating your data with any application or service through HTTPS, TCDS enables developers to rapidly construct secure and scalable data-driven applications. 

This blog guides you through building REST endpoints with TCDS while constructing a Task Tracker app. Focused on backend development, the tutorial covers creating clusters and tables, inserting data, and crafting APIs. It also provides steps for integrating the React frontend hosted on Vercel with the backend. By the end of this tutorial, you will gain a comprehensive understanding of TCDS and acquire a fully functional backend solution catering to both beginners and seasoned developers.

Optimizing Filtered Vector Search in MyScale

Vector search looks for similar vectors or data points in a dataset based on their vector representations. However, pure vector search is rarely sufficient in real-world scenarios. Vectors usually come with metadata, and users often need to apply one or more filters to this metadata. That makes filtered vector search come into play.

Filtered vector search is becoming increasingly vital for intricate retrieval scenarios. You can apply a filtering mechanism to filter out the undesired vectors beyond the top-k/range of multi-dimensional embeddings.