Skip to main content

9 posts tagged with "software development"

View All Tags

How to Set Up Your Local SWE-Agent Dev Environment in 5 Minutes (or less!)

· 9 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

picture of a robot riding a blue whale

Introduction

Imagine a tool that can dive into real GitHub repositories to debug and fix issues automatically. That's SWE-agent for you, a project born at Princeton University, where language models like GPT-4 are turned into software engineering agents. These aren't just toys either; they've shown to resolve over 12% of software issues tested in the SWE-bench dataset. While 12% might not initially seem high, it represents a significant leap from the previous benchmark of just 3.79%. This achievement marks a considerable advancement in the field, underscoring the growing potential of AI to transform software development and maintenance.

My journey into SWE-agent began with curiosity and a bit of a stumble. I wanted to set up a local dev environment to study the model's inference step but the project doesn't say how to set up such an environment! It's a familiar story in open-source projects, especially those with roots in academia. I encountered a mix of excitement and frustration, reading through the setup instructions in the README and realizing the commitment needed to even start. And I wasn't the only one feeling this way; a community issue highlighted similar struggles.

Deciding to lean into the challenge, I saw an opportunity to simplify this for everyone. While the official setup process is being refined, I've put together an alternative guide to get you up and running with SWE-agent in a local dev environment using dev containers.

All you need is Docker and VS Code!

Why Vector Databases Are Carving Out Their Own Niche in the Data World

· 4 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

picture of gears to represent integration tests

Introduction

In the dynamic realm of data management, the unfolding narrative of vector databases as a unique category mirrors the historical discourse of the SQL vs NoSQL movement that swept through the tech world over the past decade. As modern enterprises wrestle with increasingly intricate data landscapes, differentiating between traditional databases and vector databases becomes not merely relevant, but essential.

This article will argue why this distinction is necessary and explore how specialized vector database companies can respond to incumbents in the database domain.

How To Attach a Debugger to a Running FastAPI Server in VS Code

· 4 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

picture of a cute bug hacking into a server

Introduction

In the realm of software development, debugging is not only inevitable but can also be a complex endeavor.

Picture this: you're faced with the task of deciphering what's occurring within a server that's already humming along. Relaunching it with an attached debugger, the usual go-to method, isn't an option.

In this post, we'll navigate this challenge, zeroing in on how to debug an already running FastAPI server in the rag-stack project as an example. And for those on a tight schedule, here's a quick video tutorial breaking down the process:

How to Simplify Docker Container Management in Integration Tests Using Pytest-Docker

· 4 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

picture of gears to represent integration tests

Introduction

Today, we're going to discuss an efficient way to set up your automated integration test workflows using Docker and Pytest.

Motivation

In an era where software complexity is rapidly growing, developing an efficient testing strategy is more than a mere best practice — it's the bedrock of stable and reliable applications.

One common strategy involves using Docker to set up a test version of a software component, such as a vector database. There are two popular variations to this strategy, both of which have their own limitations.

AI Pair Programming Showdown: ChatGPT vs Google Bard vs Bing Chat

· 2 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

Ever since large language models have taken the world by storm, I've been curious about how helpful these AI-powered chatbots can be to programmers like myself.

To put them to the test, I decided to build a couple of simple API endpoints using FastAPI and see how ChatGPT, Google Bard, and Bing Chat can assist me in the process.

Here's how they fared:

Effortless VSCode Setup: Debug 3rd Party Libraries with Pytest in Minutes!

· One min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

Every time I work on a Python project, I find myself having to look up the VS Code launch configuration to enable Pytest to step into 3rd party libraries when using the interactive debugger. It became quite frustrating, and I knew I couldn't be the only one facing this issue. So, I decided to create a video tutorial to share my knowledge and help fellow developers set up their projects more efficiently.

Bing Chat vs Google vs Stack Overflow: Who Solved My Python Problem the Fastest?

· 2 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

As a programmer, you've likely encountered moments where you needed help with a coding problem or wanted to find a more efficient solution. I recently faced a challenge while trying to generate a UUID3 string in Python, and the internal documentation wasn't helpful. That's when I discovered Sydney (Bing Chat) and was amazed at how quickly and effectively it provided a solution, complete with a code snippet!

In this blog post, I'll share my experience with Bing Chat and highlight the standout user experience offered by Sydney in Microsoft Edge.

Level Up Your Git Workflow with AI-Generated Commit Messages

· 2 min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

If you're a fan of Copilot, you know how AI can significantly improve your coding experience. But what if AI could also write your commit messages for you? With GitLens 13.4, this dream has become a reality! In this blog post, we'll explore how AI-generated commit messages can transform your Git workflow and boost your productivity.

My VS Code Setup To Practice TDD When Developing REST APIs

· One min read
Morgan Moneywise
CEO at Morgan Moneywise, Inc.

A lot of people I know will repeatedly alternate between writing an endpoint in their IDE and Postman/Swagger to test it. I do not like this workflow because of the constant context switching. I also find that it's easy to forget to test a scenario or to test the wrong scenario. I've found that it's much easier to test the API in the IDE itself.

I personally prefer the Test Driven Development (TDD) approach. I find that it helps me to write better code and to think about the API design before I actually start writing code. I also find that it helps me to write better tests and to think about the different scenarios that I need to test for.

So, how can we do this in VS Code?