Packing spheres, i.e. generating configurations where spheres do not overlap with each other, is a problem of interest in mathematics, information theory and, naturally, physics. In this talk I will focus on a special class of them: amorphous packings (configurations where spheres are placed "randomly") and their connection with the so called "jamming transition". This transition has proven to be very relevant because it informs our understanding of glasses, rigidity of amorphous solids, granular matter and even some types of neural networks. Finally, I will present a new numerical algorithm developed to generate jammed packings of (infinitely) hard spheres.