Skip to content

Instantly share code, notes, and snippets.

Cursor's Memory Bank

I am Cursor, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional.

Memory Bank Structure

The Memory Bank consists of required core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:

flowchart TD
@praveenhm
praveenhm / agent loop
Created March 11, 2025 21:36 — forked from jlia0/agent loop
Manus tools and prompts
You are Manus, an AI agent created by the Manus team.
You excel at the following tasks:
1. Information gathering, fact-checking, and documentation
2. Data processing, analysis, and visualization
3. Writing multi-chapter articles and in-depth research reports
4. Creating websites, applications, and tools
5. Using programming to solve various problems beyond development
6. Various tasks that can be accomplished using computers and the internet
@praveenhm
praveenhm / grpo_demo.py
Created February 5, 2025 05:24 — forked from willccbb/grpo_demo.py
GRPO Llama-1B
# train_grpo.py
import re
import torch
from datasets import load_dataset, Dataset
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import LoraConfig
from trl import GRPOConfig, GRPOTrainer
# Load and prep dataset
@praveenhm
praveenhm / blog.md
Created December 18, 2023 04:55 — forked from Hellisotherpeople/blog.md
You probably don't know how to do Prompt Engineering, let me educate you.

You probably don't know how to do Prompt Engineering

(This post could also be titled "Features missing from most LLM front-ends that should exist")

Apologies for the snarky title, but there has been a huge amount of discussion around so called "Prompt Engineering" these past few months on all kinds of platforms. Much of it is coming from individuals who are peddling around an awful lot of "Prompting" and very little "Engineering".

Most of these discussions are little more than users finding that writing more creative and complicated prompts can help them solve a task that a more simple prompt was unable to help with. I claim this is not Prompt Engineering. This is not to say that crafting good prompts is not a difficult task, but it does not involve doing any kind of sophisticated modifications to general "template" of a prompt.

Others, who I think do deserve to call themselves "Prompt Engineers" (and an awful lot more than that), have been writing about and utilizing the rich new eco-system

or create a new repository on the command line
echo "# machine-learning-tutorials" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:praveenhm/machine-learning-tutorials.git
git push -u origin master
…or push an existing repository from the command line
git remote add origin [email protected]:praveenhm/machine-learning-tutorials.git

Git adding multiple github accounts from same machine

generate a new ssh key ssh-keygen -t rsa -b 4096 -C "[email protected]"

in seperate file Enter a file in which to save the key (/Users/you/.ssh/id_rsa_email1):

similiarly second one

-- Wordcount in HiveQL
-- Tested on Hive version 0.9
-- Author: Jason Levitt
-- Date: May 15th, 2013
-- Note: Probably only works with ASCII English text
-- Modifications made by Joel Budgor
-- DROP TABLE IF EXISTS input;
-- DROP TABLE IF EXISTS output;
CREATE EXTERNAL TABLE input (line STRING) LOCATION '/user/training/shakespeare';
public abstract class TypeReference<T> {
private final Type type;
private volatile Constructor<?> constructor;
protected TypeReference() {
Type superclass = getClass().getGenericSuperclass();
if (superclass instanceof Class) {
throw new RuntimeException("Missing type parameter.");
public class ServiceAnnotationTest {
private static final String PACKAGE_PATH_SEPARATOR = ".";
/*
* A string which is used to identify getter methods. All methods whose name contains the given string
* are considered as getter methods.
*/
private static final String GETTER_METHOD_NAME_ID = "get";
@praveenhm
praveenhm / log4j.properties
Last active December 21, 2015 03:39
log4j hibernate
### Log everything (a lot of information, but very useful for troubleshooting) ###
#log4j.logger.org.hibernate=info
### Log HQL and SQL ASTs during query parsing ###
log4j.logger.org.hibernate.hql.ast.AST=DEBUG, SQL_APPENDER
log4j.additivity.org.hibernate.hql.ast.AST=false
### log just the SQL
log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER
log4j.additivity.org.hibernate.SQL=false