In pseudocode it's a method/function inside a vector that looks something like this:
.slide(vector) {
return vector - this * dot(this, vector);
}
So it's also important that in most cases you want the vector that is calling the method to be normalized (unit length), otherwise that dot product is going to be pretty huge.
Something like: norm.slide(velocity)