Aug 21, 2008 at 12:23 AM
Edited Aug 21, 2008 at 12:35 AM
Thanks. You might want to update the planned release page which says July/August so the natives don't get too restless. ;)
I actually created a RawSocket and extended Socket with ReceiveFrom and SendTo and it works ok. I need SocketOptions, though, and that looks a bit more involved but I'm happy to do it and
submit a patch. I'm looking at some distributed programming concepts on top of Singularity and having more feature-rich networking would enable development of additional protocols. Rdm is also on my wish-list and I may give that a go as well.
Multicast support would also be quite useful. I'd like to get one of my distributed NEAT (NeuroEvolution of Augmented Topologies) applications running on Singularity and some other things that require slightly more advanced networking than is currently
There is enough time before RDK 2.0 that I might as well complete my vesa driver even if it's sub-optimal unless it's trivial to release yours as a patch for RDK 1.1. I'm sure a lot of people
would be really happy to see that based on all the talk of getting things running on Hyper-V and VMWare in these forums. I haven't done low-level driver work in over a decade so I doubt mine will ever work as well as yours but VirtualPC is
painfully slow on a machine that has Hyper-V installed and I need my other VMs. I'm planning to port over my jpeg2000 library to investigate parallel computation performance with a real-world application and I'd prefer to see it in action rather than
just looking at statistical output.
I was also thinking about trying to write a WPF-Light (no 3D or multimedia features initially) just for fun and because it'd help me better understand WPF. I think things would really take
off if Singularity had a UI foundation for people to use. You have captured a lot of people's imagination with this project and I'm sure you'd get a lot of really interesting tools developed for the OS once there is a UI. I expect most of
the people interested in this are not hardcore kernel hackers and driver developers but that doesn't mean they can't make valuable contributions once the basics are in place. A lot of people tend to specialize in various areas and while they may
not be interested in or able to develop video drivers or a UI framework, once they are in place they might be motivated to develop other applications, drivers and kernel features that otherwise might not be developed. A lot of useful libraries just need
to be ported and have their native bits replaced and I'm sure a lot of that would get done satisfactorily by the community.
The biggest limitation right now (aside from the lack of a UI) would seem to be the incomplete runtime library which is perfectly understandable considering how much of rotor depends on PInvoke to OS-specific shared libraries written in other languages.
Unfortunately there isn't a whole lot of motivation for people to add complex features they need when there's no real community development going on and their work will likely be broken by future releases. I'm not really sure how
you'd solve that even if you want the extra help but possibly splitting some things that aren't overly dependent on the kernel into a codeplex project that's actually used as intended might help.
As for really pie-in-the-sky features I'd wish for... I'd love to see some advanced libraries like Joins/ParallelFX and Accelerator although the latter I'm sure would be especially difficult and would require much more than just
a basic vesa driver. The abilitiy to crank out nearly 3TFLOPS on a relatively cheap deskotp machine (3x nVidia gtx280+ cards) would be hard for any researher doing computationally intensive simulations to pass up. From reading some of the project
documents it sounds like you may already have a more interesting direction for GPU processing anyway.