[Distinguished Lecture] Singular surfaces and coding theory, applications to nodal K3 surfaces