I have a couple of C/C++ skills, but I am particularly lacking in being able to interface fully with the OS, so I thought of a couple of projects for software that I would like to have in order to sharp my skills and learn in the process:

1. Virtual audio mixer. Similar to the "virtual cable" software, except user friendly. I had this idea when I tried to mix the system an microphone sound into one output just to find out that my audio card does not support it. Then I turned for software solutions to bypass the hardware limitations, even tough some software managed to do that they required a paid license and the interface was shit. The idea is to add virtual devices to the system so that it can have independent streams for the system, skype, messenger, internet in away that can be easily rerouted. Imagine that I am in a conversation with someone o messenger and I want to share a music that is currently playing on my system, no biggy just send the system stream to messenger. Then a friend calls me on skype, I reroute the microphone to skype so I can talk to my friend on skype while my friend of messenger is still hearing music without listening to the conversation I am having with the friend on skype.No since they are mutual friends I want to have them talk in a conference, I re-rout the skype feed to messenger and the messenger feed skype and presto! Party 1 is talking to party 2, while party 1 is hearing music and 2 doesn't.

2. Virtual cam. There are a couple of good ones for free, but why not have virtual video to go with your virtual sound?

3. A physics engine. My recent work with simulators (and the knowledge of their limitations) has left me quite disappointed, so I was interested in building an engine based on real world physics that would allow to simulate everything from FPS to realistic interplanetary travel. The content should be proceduraly generated , colors and textures are based on materials, objects should have multi-level detail and behave mechanically in a realistic fashion. The earth could be build using Google earth data which passes trough an interpreter to rebuild terrain, roads, buildings among other infrastructure with a higher detail that could be achieved with the Google data alone. The software itself should be assembled by modules so that any module could be updated independently. It should feature a rebuild function that will allow the objects to automatically improve quality with new technology.

What do you think?I currently have no time on my hands by I intend to do this as an hobby in my spare time, if anyone wants to join this journey just say so. And I would like to hear more awesome software suggestions.

"I have an irrefutable argument for the existence of...." NO, STOP! You are already wrong!

If you're thinking Windows, the virtual audio mixer's going to be tough, I think. Mac OS X has a real good way of handling audio that would make your dream come true, a lot of what you said is easily done by tweaking a few settings, but Windows doesn't handle audio like that.But I like your ideas.

Perception of reality results in interpretation of reality which results in a deformation of reality.

Sure, but it's worth knowing what's out there with the same/similar functionality. Given that pulseaudio is a FOSS project (you can read the source code), it may help with the initial learning curve.

Personally, I'd love a decent interface for pulseaudio and would write one myself if I knew how to code in QT or gtk. I suppose it's possible to write an interface in HTML/CSS these days (which is piss-easy)... Thinking about it, Win8's interface is written in HTML/CSS/JavaScript (as is GNOME's) so I probably could.