Software radio is one of the most existing technologies in last decade. Being fully flexible and programmable, software radio has been widely used in research, education, instruments and measurement. In this lecture, I will share our experience to build a fast, real-time software radio system, namely the Sora platform. I will introduce the architecture and design philosophy of Sora and cover key optimization techniques that are crucial to fast signal processing in software. I will discuss how a better abstraction can greatly simply this optimization. Finally, I will introduce several directions that have been actively explored for the future software radio systems.