RSSAmplifier

Blog

Newvick's blog

Hi, I'm Newvick. I write about tech and things I find interesting.

newvick.comRSS feed ↗18 posts

Latest posts

How skip lists work and why databases use them

Skip lists are used in redis and LSM-trees, delivering O(log n) lookups with less complexity than B-trees. This post explains how they work, why randomness is useful and why you might choose them over B-trees.

Useful prompt for summarization

LLM prompt to get a useful summary based on 5 questions

Messy reality of data modelling

Data modeling seems straightforward—until you realize the real world is messy, vague, and full of philosophical dilemmas. In this post, I dive into the challenges of defining "one thing," handling change, and categorizing entities in databases. Spoiler: It’s way harder than it looks.

AI Tutor Trap

How effective are LLMs as tutors? There are some crazy anecdotes out there about how they can replace teachers. But this study is one of the first I've seen that actually tries to understand its effect, _and_ what happens after it's taken away.

When all you need is Success and Failure (Result Monad)

When building a service that handles many different API integrations, it's helpful to standardize the response. The `Result` monad is useful for expressing the response as either `Success` (everything went well), or `Failure` (something has gone wrong).

SimpleDB (Part 2): Memory Management

Memory Management for SimpleDB. Implementing the buffer and buffer manager.

Python Concurrency: Threads, Processes, and asyncio Explained

A practical guide to Python concurrency using a Fibonacci server to demonstrate the strengths and limitations of threads, processes, and asyncio. Learn when to use each approach through hands-on examples

SimpleDB (Part 1): File Manager

disk and file management

Evolution of RAG: Addressing the common problems of a simple RAG system

RAG is not all you need. This post will cover some of the common problems that are encountered in a simple RAG system, and potential solutions for them.

Combining vector and lexical search

Interpolating vector and lexical search gives better results than either alone

What is software complexity?

As a fellow grug brained developer, I also agree that complexity is very bad. But what is software complexity? What does it look like? How does it come about?

Understanding Backpropagation

I've been working my way through Andrej Karpathy's 'spelled-out intro to backpropagation', and this post is my recap of how backpropagation works.

Debugging a tricky production error with rubber duck GPT

Step-by-step walkthrough of using GPT for debugging.

Generating creative images with Stable Diffusion

Stable diffusion allows non-artistic individuals, like myself, to create stunning images simply by providing a text prompt.

Why understanding B-trees will help you improve database performance

b-trees • database indexes • partial index • function-based index • multi-column index

Intuitive guide to clustering using kmeans

grouping similar data points into sets • clustering methods • kmeans

Query polymorphic tables easier using a view

Tables with polymorphic associations can be quite annoying to query. Use views to make it much easier.

Simple steps to setup performance monitoring for PostgreSQL

Steps that will make future investigation of your Postgres performance much easier.