Open-source projects to learn concurrency-managed network programming in Unix?
I am a mid-career programmer with extensive experience in object-oriented design and development in C, C++, and C#. I've written a number of multi-threaded server applications and background services, although my grasp of networking protocols is a bit weak: my current job drifted away from the promise of true infrastructure work and into application development. That, along with the C#/.NET technology stack, has made me a bit dull.
I am ready for a change.
I am about 1/3 the way through APUE and am hooked. Unix really appeals to me. I plan to continue on to the Steven's network programming volumes. I am of course coding up my own exercises as I go through the material.
My ideal job would be something along the lines of a recent (admittedly vague) job posting that describes woking on "a highly flexible/scalable framework to provide services to various end user applications," requiring "proficiency in building network protocol frameworks and thorough knowledge of inter-process communication, multithreading and thread synchronization."
Ideally I would find an employer who can leverage my Windows experience while also giving me exposure to this kind of work in Unix. But most employers these days don't want to have to make that kind of investment in their employees.
So I am considering finding an open source project where I could both make a contribution and acquire these skills. The ideal project would be in C or C++: several traumatic experiences with memory leaks in C# and the CLR have given me a strong yearning for reclaiming control of allocation.
There are a number of good open-source projects out there, but many of them are either done (e.g., OpenLDAP) or being done in Java (e.g., HDFS). Can anyone recommend any active open-source projects for this purpose?
Or do you have any other ideas about making this kind of career transition?
I am about 1/3 the way through APUE and am hooked. [...] I plan to continue on to the Steven's network programming volumes. I am of course coding up my own exercises as I go through the material.
Sounds like you are on the right track to become a proficient programmer that no employer would easily turn down. Regarding your question, I trust you have also checked sourceforge? Chances are you will stumble upon one that is dormant or mildly active that you can work on and add to your portfolio.
What do you think is the best way to learn UNIX and shell scripting?
** I keep on searching tutorials online, where I loose most of my time :(
Let me know the way you learnt the UNIX concepts, your replies might help me learn more.
Thanks a ton:b: (2 Replies)