8 Replies - 1313 Views - Last Post: 03 November 2015 - 11:48 AM

#1 rnty   User is offline

  • D.I.C Regular

Reputation: 20
  • View blog
  • Posts: 297
  • Joined: 14-August 12

Network Programming

Posted 28 August 2015 - 08:57 AM

Hello everyone,

So, I have been given a programming assignment. More specifically to write a network application that uses process to process communication. I want a few ideas. I want to make an application that can go into my CV and when I go to an interview it must stand out/carry weight.

P.S. : I could not find a more appropriate place to post this.

Thanks
Is This A Good Question/Topic? 0
  • +

Replies To: Network Programming

#2 modi123_1   User is online

  • Suitor #2
  • member icon



Reputation: 15804
  • View blog
  • Posts: 63,309
  • Joined: 12-June 08

Re: Network Programming

Posted 28 August 2015 - 09:17 AM

Have you checked the project ideas list?
Was This Post Helpful? 0
  • +
  • -

#3 rodiongork   User is offline

  • D.I.C Head

Reputation: 10
  • View blog
  • Posts: 61
  • Joined: 28-August 15

Re: Network Programming

Posted 28 August 2015 - 09:46 AM

I believe the most popular (if we speak about socket programming) are various chat projects. In simple form you can make it peer-to-peer. More elaborate version will have a server and allow creating chat rooms. Anyway you will see the tons of examples on web.

Quote

that can go into my CV and when I go to an interview it must stand out/carry weight

It would be good to upload anything you will do to github, however do not expect that application for which you have no idea right now will help much your CV. Employers are not usually affected by stuff which you have written by ready idea just like exercise. However if you will add some your own ideas into any basic project you will try to implement - then you usually will have enough thoughts to talk about when you get to interview. I'm sorry for being bit vague here :(
Was This Post Helpful? 0
  • +
  • -

#4 rnty   User is offline

  • D.I.C Regular

Reputation: 20
  • View blog
  • Posts: 297
  • Joined: 14-August 12

Re: Network Programming

Posted 29 August 2015 - 04:30 AM

I was thinking about a two player tic tac toe game but wait, here is the deal. I will scale it upto 3 X 3. There will be 9 squares. Each having a tic tac toe and you win if you can get max wins diagonally/straight. No saving of history and stuff. You open the app, I open the app and a new game starts. Whatever info is to be stored during gameplay gets stored in static objects. As soon as the game gets over it will promt for "new game" or "exit".
How does that sound to you?

Thanks
Was This Post Helpful? 0
  • +
  • -

#5 rodiongork   User is offline

  • D.I.C Head

Reputation: 10
  • View blog
  • Posts: 61
  • Joined: 28-August 15

Re: Network Programming

Posted 29 August 2015 - 07:21 AM

Quote

How does that sound to you?

Not too bad. By the way if you google you will see this is also a popular project :)

But you can substitute Tic-Tac-Toe with any other similar game if you want to make it look bit different. I believe Connect Four will do in just the same manner.
Was This Post Helpful? 0
  • +
  • -

#6 jjl   User is offline

  • Engineer
  • member icon

Reputation: 1271
  • View blog
  • Posts: 4,998
  • Joined: 09-June 09

Re: Network Programming

Posted 01 November 2015 - 08:02 PM

Well if you want it to stand out, then writing a chat based application using sockets will not, since this is a common assignment given in most networking classes. I suggest doing something that is a little more involved. Here are some ideas off the top of my head.


1) Packet sniffer, basically like wireshark (quiet involved, shows that you know the IP stack)
2) Network encryption (encrypt the TCP data streams). Most companies perform some sort of encryption on there data, this may stand out
3) Implement your own reliability layer around UDP, shows that you understand network reliability and how TCP functions (necessary to write high speed network applications)
4) Write a networking application that uses raw sockets (http://linux.die.net/man/7/raw), which shows you understand the inner workings of the socket APIs

This post has been edited by jjl: 01 November 2015 - 08:04 PM

Was This Post Helpful? 1
  • +
  • -

#7 Curtis Rutland   User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 5106
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Re: Network Programming

Posted 02 November 2015 - 09:56 AM

Quote

Network encryption (encrypt the TCP data streams). Most companies perform some sort of encryption on there data, this may stand out


As a security-certified professional, I would be more impressed that you knew enough not to roll your own encryption.

I mean, for practice, sure. Go for it. But not for actual use. Crypto should be left to the crypto professionals. It's one of the few areas of programming that I would say "don't bother, because unless you're got doctorate-level mathematics skills, you're not up to the task of writing crypto software."
Was This Post Helpful? 1
  • +
  • -

#8 jon.kiparsky   User is offline

  • Beginner
  • member icon


Reputation: 11993
  • View blog
  • Posts: 20,326
  • Joined: 19-March 11

Re: Network Programming

Posted 02 November 2015 - 10:23 AM

View PostCurtis Rutland, on 02 November 2015 - 11:56 AM, said:

... I would say "don't bother, because unless you're got doctorate-level mathematics skills, you're not up to the task of writing crypto software."


s/unless/even if

Seriously, production-grade crypto is beyond everybody's pay grade. Teams of people can get it right - but consider that the only people qualified to even test this sort of thing have degrees in areas of math that most people have never even heard of. Basically, the cryptography that you write will be useless as a means of preventing people from getting access to things you care about.

On the other hand, if you're interested enough to get down into the dirt on this, you can certainly learn a lot about crypto by studying the math and then implementing the primitives.
Don't bother doing the implementing part until you've done the studying part, though. There's no point at all in cargo-coding this stuff.
Was This Post Helpful? 2
  • +
  • -

#9 jjl   User is offline

  • Engineer
  • member icon

Reputation: 1271
  • View blog
  • Posts: 4,998
  • Joined: 09-June 09

Re: Network Programming

Posted 03 November 2015 - 11:48 AM

@jon.kiparsky

Quote

s/unless/even if


Lol
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1