Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Open-source projects to learn concurrency-managed network programming in Unix? Post 302686981 by TheTaoOfPhil on Wednesday 15th of August 2012 07:33:07 PM
Old 08-15-2012
Open-source projects to learn concurrency-managed network programming in Unix?

Hi,

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?

Many thanks for your help!
 

4 More Discussions You Might Find Interesting

1. Programming

Want To Learn Network Programming

I want to learn Network Programming with C,but I don't know how to start. Thank you. (2 Replies)
Discussion started by: hubin330
2 Replies

2. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies

3. Shell Programming and Scripting

Best way to learn UNIX and shell Programming

Guys, 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)
Discussion started by: dnam9917
2 Replies

4. UNIX for Beginners Questions & Answers

Wanna learn native GUI programming in UNIX - Linux ?

Hi , wanna learn native GUI programming in Unix-Linux instead of Gtk and Qt. No problem. You don't need a cross platform Gui toolkit like Gtk and Qt. And the code and syntax is also not more or less than others. Check out this code for a simple mainwindow for your application that is openend in... (0 Replies)
Discussion started by: Sennenmut
0 Replies
SVK::Help::Intro(3)					User Contributed Perl Documentation				       SVK::Help::Intro(3)

NAME
SVK::Help::Intro - Introduction to svk DESCRIPTION
svk is an open source distributed version control system which is designed to interoperate with Subversion. Like other version control systems, it keeps track of each change you make to a project and allows you to maintain multiple parallel tracks of development. svk also has a number of powerful features which are rarely found in other version control systems. svk has been designed from the ground up to support development models that are simple and intuitive for software developers. It has advanced smart branching and merging semantics that make it easy to maintain multiple parallel lines of development and painless to merge changes across branches. svk's built in patch manager makes it easy for non-committers to share changes among themselves and with project maintainers svk provides powerful support for distributed development. Every svk client is capable of fully mirroring remote Subversion repositories so that you have full access to a project's history at any time, even when they are off the network or on the wrong side of a firewall. You can branch a remote project at any point in that project's history, whether or not you have write access to that project's repository. Later, you can integrate changes from the project's master server (usually with a single command) or push your branch up to another Subversion repository. GETTING STARTED
svk has a rich command line interface that can be somewhat daunting at first. the following few commands are all you'll need for day to day operation. svk mirror First, you'll need to mirror a remote repository. This sets up a local copy of that repository for you to branch from, merge to and otherwise poke at. The local path is sometimes called a "depot path." svk mirror svn://svn.example.com/project_x //mirror/project_x svk sync When you've set up a new mirror or want to get some work done without a network connection, sync your local repository with upstream repositories. svk sync //mirror/project_x svk checkout When you want to get some work done, you can checkout a working copy to make changes. cd ~/svk-checkouts svk co //mirror/project_x If you want to work offline, you can create a local branch cd ~/svk-checkouts/project_x svk branch --offline svk add, svk delete and svk move As you work on the files in your working copy, feel free to add new files, delete existing files and move files around. cd ~/svk-checkouts/project_x svk add Changelog svk move badly_named_file.c well_named_file.c svk delete .README.swp svk commit When you're done, just commit your changes to your local repository, whether or not you have network. If you commit to a mirrored path, rather than a local branch, you'll need to be able to access the path's upstream subversion server, but the commit will be sent to the server instantly. svk commit svk pull Life doesn't stop when you make a local branch. From time to time, pull down changes from the upstream repository. cd ~/svk-checkouts/project_x svk pull svk push When you're ready to share your changes with the world, push them to the upstream repository. cd ~/svk-checkouts/project_x svk push To see a full list of svk's commands, type "svk help commands". For help with a specific command, just type "svk help command". The svk wiki (<http://svk.bestpractical.com>) is a great place to find the latest svk tips, tricks and updates. If you run into trouble using svk, the wiki's the right place to start looking for help. perl v5.10.0 2008-09-13 SVK::Help::Intro(3)
All times are GMT -4. The time now is 09:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy