PDA

Click to See Complete Forum and Search --> : Anybody interested in starting a project here ??


intruder
October 18th, 2004, 03:54 PM
Hi All,

I just got an idea which i thought might be different from general query posting and than replies.

Anybody interested to start any kinda project here on this forum ?

Pls suggest any small project and we will start here. Anybody can start it and we will make a team. we will post the source code and everybody will modify/improve the same source code which will ultimately become a project.

This will be happening live and hence i think many newbies visiting here will get an oppurtunity to learn many things about programming.

pls post in ur suggestions.

Intruder.

SwordFish_13
October 18th, 2004, 04:23 PM
Hi,

Anybody interested to start any kinda project here on this forum ?

Yes i am interested .........but i got other commitments so i don't know how much time i could devote to it......:(.....but i can give it a try.

Pls suggest any small project and we will start here. Anybody can start it and we will make a team. .


So you are suggesting we suggest a project and we all move on to working on it independently and then post the source who ever makes it ?....................or a modular approch where we distribute smaller modules of the project to diferent people and they make that one and then combine the whole thing?

and what is the skill set required?..............which language you suggestion it in?

--Good Luck--

;TT
October 18th, 2004, 05:48 PM
h3r3tic and I already tried making making a project but due to 'complications' it never got done all the way... we're discussing restarting the project but no clue yet.

It was an instant messaging program coded in Java.

gauravjulka
October 18th, 2004, 07:29 PM
yeah its a good idea, we could give this a try. I am interested in this too. BUt frankly telling ya I am not a programming nerd... But surely i can put whatever I can from my exp in Lecturing IT subject for the last couple of years.
Do suggest some topic so that we can start at the earliest

intruder
October 19th, 2004, 07:31 AM
Hey swordfish,
I think that will be a good idea that we divide modules among us. But for that we need people on similar skill sets.

Well i have got a good working experience on C, C++, VC++ on embedded side.
Also can do it if its MFC.

so now u suggest what we should take up.

What i think is we shud first decide what project we will do ? than on the basis of that we can decide the skill sets and languages.

and than we can collect people on similar skill sets and make a team.

what do you say swordfish ?

Thanks gaurav for ur interest, it will definately help us. :)

In.

CybertecOne
October 19th, 2004, 07:54 AM
Registers Interest

The only problem i can see is a 'competition' forming, and if eveyone can improve on others source codes, then you would just make the original creater feel smaller. Thus after many turns ending in a flame war......

There is no point in many different programmers submitting work of the same use, unless it WAS a competition and 1 of them will be selected. It would work much better if different programmers aimed at different things. of course that is dependant on the size of the project as that is proportional to the amount of programmers needed or even have a use.

The best idea would be a small game like... a flying thing that you control to get through hoops or around obsticles... (youve all seen them) and from there different people can add different things and improve... this goes for graphics to colour to the way it moves.

a small game allows for creativity and of course, lots of different preverable versions virtually customised. :p


CTO

CTO

SwordFish_13
October 19th, 2004, 08:46 AM
Hi,


The only problem i can see is a 'competition' forming, and if eveyone can improve on others source codes, then you would just make the original creater feel smaller. Thus after many turns ending in a flame war......

I would be least conserned about this though.............i don't think it's going to reach to such proportions that someone actually would want to start flames for that . :p

It would work much better if different programmers aimed at different things. of course that is dependant on the size of the project as that is proportional to the amount of programmers needed or even have a use.

Agreed..........No point in all working on the same thing ........rather dividing the work would be more appropriate
.

The best idea would be a small game like..

hmmm sounds interesting............ More Ideas

I am still trying to figure out something that can be modularisd easily and is small enough ....i am brain dead right now .....:(

intruder you got any Ideas?

--Good Luck--

intruder
October 19th, 2004, 10:06 AM
Hi,


The only problem i can see is a 'competition' forming, and if eveyone can improve on others source codes, then you would just make the original creater feel smaller. Thus after many turns ending in a flame war......

i agree with swordfish on this point, i will be least bothered if somebody improves my code. on the other side it will be a chance for me to learn something.


The best idea would be a small game like... a flying thing that you control to get through hoops or around obsticles... (youve all seen them) and from there different people can add different things and improve... this goes for graphics to colour to the way it moves.

a small game allows for creativity and of course, lots of different preverable versions virtually customised. :p

Well as far as the above point goes .. i agree that it will be interesting but Graphics and games is not so common domain and hence everybody will not have much idea as to how to go about it. Like everybody knows to play a computer game but very less people know how to code it.

e.g. myself .. i don't know how to start a game code as i have never came across one.

But keeping in mind that AO is the place related to security and stuff like that, how about thinking something like a simple keylogger in VC++ or any other language or a portscanner or may be any other tool which is used for things related to hacking or security ??

I think that way we will get a chance to practically look into the working of these piece of softwares.
Till now many of us have just downloaded these softwares and blindly used but never went inside and thought how exactly its coded and what can be the logic used.

Well this was just a suggestion from my side.

Any other suggestions .. welcomed. :)

In

skiddieleet
October 19th, 2004, 04:41 PM
Originally posted here (http://www.AntiOnline.com/showthread.php?threadid=263108#post800095) by ;TT
h3r3tic and I already tried making making a project but due to 'complications' it never got done all the way... we're discussing restarting the project but no clue yet.

It was an instant messaging program coded in Java.

:D
Yeah, I think we need to restart from scratch. The instant messaging stuff is screwed up, and it's too easy to screw up the server simply by using telnet as a client. Other than that it's good :P. Let's do something.

akshayakrsh
October 19th, 2004, 06:18 PM
hey u all guys i m interested in this project! i know although my anti-points are not much but i hav a gr8 experience in programming kinda things so whenever u start do inform me about it!

intruder
October 20th, 2004, 07:15 AM
Hi,
Ok than lets start something in VC++. But pls let me know how many of u guys are comfortable with it ?
If anybody wants some other language its no probs with me :) will do R & D and do it !!

what do u say swordfish ?
what do u say H3r3tic, CybertecOne ?

In

akshayakrsh
October 20th, 2004, 07:48 AM
i know VC++ but i know VB more so i can contribute more efficiently if VB/C++ is used!

i m not forcing u guys, i wont be a part of the project if u dont want ( i dont wanna be the pain in the butt ) but still if u choose VB or C++ and let me contribute in the project! i'll be the most happiest one! as i luv contributing in prj.s

thank u guys

SwordFish_13
October 20th, 2004, 09:03 AM
Hi,

Ok than lets start something in VC++.

Something????? we have still haven't found that something ???:P


Hmmm i know VC++ i wouldn't say comfortable though............i know C , C++ and Visual Basic 6 better.

But if it's going to be VC++ ..............i can learn it don't worry ..........:)

will do R & D and do it !!

yep thats the thing...........i want to work on something i haven't already.............as MsM likes to say Reeeeeeeeeeeeeeesearch ...........i know working on a new thing altogher would highly reduce the chances of it being finished but can try ...................learn a few thinggs in the process...............so whats that something going to be ...............i still say a Compiler :george:

It would be better if we chose a project first .......then the language/ tool suited for it...............rather than the language first and then trying to fit in a project suited for that language/tool

akshayakrsh -> we are not ignoring you .........It's still in the preliminary phases ...just hang in there and see what happens :)

--Good Luck--

intruder
October 21st, 2004, 08:17 AM
Hey SwordFish,

Herez some suggestions and various topics which come to my mind. maybe they are more feasible on VC++ and with or without using MFC.

1) Keylogger
2) PortScanner
3) Small Basic Compiler
4) Mail Client (which uses SMTP )
5) Ping Utility (which sends a ping to the given ip address)
6) Basic Firewall.

well any suggestions or maybe what can we select from this list and start ?
you can even add ur topics if u feel like. :)

In.

SwordFish_13
October 21st, 2004, 09:05 AM
Hiya

Nope this list is final .............that something will be from this list ................let me remove a few form it ..............which i think are either too small or hard to modularise or i just don't like them :)

Lets all select our Favourates and see which one gets the max votes

1) Keylogger X
2) PortScanner X
3) Small Basic Compiler Y :george:
4) Mail Client (which uses SMTP ) Y
5) Ping Utility (which sends a ping to the given ip address) X
6) Basic Firewall. Y

I give my Vote to number 3.

--Good Luck--

intruder
October 21st, 2004, 09:25 AM
Hi,


Lets all select our Favourates and see which one gets the max votes

1) Keylogger X
2) PortScanner X
3) Small Basic Compiler Y :george:
4) Mail Client (which uses SMTP ) Y
5) Ping Utility (which sends a ping to the given ip address) X
6) Basic Firewall. Y


I give my Vote to number 3

--Good Luck-- [/B]

okkkkkkkkkk so now we have got three, andi will rate it out of 10 :-

1) Small Basic Compiler : As far as this goes i am also pretty interested in writing a compiler. This will surly give us a chance to do a fair amount of R & D and will be quite interesting provided we hold it till the end. i give 9/10

2) Mail Client : This also will be quite interesting but the only thing i am worried is we have to set up some server in order to execute our Mail Client. what do you say ?
i give 7/10

3) Basic Firewall : This is also not bad but again requires deep knowledge of TCP/IP which i am afraid i don't have much :)
i give 8/10

So from my side the compiler remains at the top .. still feel free to do your selection and we will do it ok swordfish.

Good Luck to Us. :)

In

SwordFish_13
October 21st, 2004, 09:37 AM
HI,

Compiler Check.............I am on it .................:)

Let me collect anything i can find on the subject ...............and write a preliminary investigatin report ( i.e how does it work , what are the things required , skill set , feasibility etc)


It Could take time ...........just give me 4 to 5 days........i will keep you guys posted.

--Good Luck--

intruder
October 21st, 2004, 12:07 PM
Hi,

Ok so with this we declare the project start.


Project name : Basic Compiler for C
Team : Intruder, SwordFish_13

I also will start gathering related info on the same and will keep posted.

Good Luck. :)

In

skiddieleet
October 21st, 2004, 04:48 PM
I'd like to help or at least follow along and have access to the work. Sounds interesting :). As of now I don't think I have the knowledge, but if I do what you are probably doing right now and research it I may be able to contribute a tiny bit. Peace.

Epison07
October 21st, 2004, 07:19 PM
Hey guys, I just found this thread. I have been pretty busy and havent read a whole lot on the site lately. But yeah, I think this project is cool. I would also like to help, although Im not sure how much help I will be. I have only worked with QBasic (which was like two years ago) and C++. I pretty much know teh basics of C++. I have taken about one semester of it in college. I would like to say I know C++, but I know there is alot of headers and common libraries I know nothing about. But yeah, If I could help, or even just see how you guys are doing, that would be great also. Ill be checking this thread alot now. Hoep you guys get something figured out.

-Ep

whizkid2300
October 21st, 2004, 07:41 PM
I will join in and help, but I can only help if we use Perl or C++. My C++ is not the best.

Let me know if you guys want help though. Anything in perl would work great. I can do C++ shit though, let me know.

Oh and a Instant messenger in C++ would be kind of cool.

Juridian
October 21st, 2004, 11:52 PM
I'm interested in this. I'm open to about any kind of project had have a very broad skillset when it comes to languages and technologies used (check my profile if you want a 50k foot overview).

SwordFish_13
October 22nd, 2004, 08:25 AM
Hi,

h3r3tic :

I'd like to help or at least follow along and have access to the work.

I think thats the whole purpose of this.............Learning and sharing what we have learned


whizkid2300 :
I will join in and help, but I can only help if we use Perl or C++. My C++ is not the best.

I too don't have any experience in Compilers........All i have is read theorital concepts about it in school never implemented them.........it would be a challange ......so we still now sure about the tools plateform required.........lets first do a requirements analysis and see whats required or suitable.


Juridian :

I'm interested in this. I'm open to about any kind of project had have a very broad skillset when it comes to languages and technologies used (check my profile if you want a 50k foot overview).

With your experience you could be a great help .........can you tell us about requirements for compilers building .....where should we start?...............what do we require.?.........major problems to be ready to face? etc.

And a straight quiestion do you think it is feasible to go for this project?. .............Should we stick to it or we change over to something else?

--Good Luck--

intruder
October 22nd, 2004, 11:48 AM
Hi,



Thanks for the response guys it will be surely of great help if u people join us. :)


And a straight quiestion do you think it is feasible to go for this project?. .............Should we stick to it or we change over to something else?

SwordFish : I also have only the theory for compilers and never ever thought of trying one but still what i feel is we should not skip this coz afterall compilers are also written by humans and we are 100% humans :) heheheh.. so why can't we do this ? plus we will have many people helping us around in case we get stuck up somewhere.

Hence it will be better if we first do the requirement analysis and fix up the platform and language which will be used and i am sure we will surely see light on the other end of the tunnel .. what say ??

In

SwordFish_13
October 22nd, 2004, 01:42 PM
Hi,

I am on it ................:)

intruder
October 22nd, 2004, 02:00 PM
Hey me too :)

SwordFish_13
October 23rd, 2004, 08:57 PM
Hi,

This is the first time I am attempting to build a compiler……………Previously I had only read about the theoretical concepts involved this will be the first time I am going to implement them

And above all I am being able to deveote little time for this ……my Uni exams are coming and I have to study AI and OS , LISP and Oracle/D2K with this…….I am doomed…:(

I have been trying to collect information about similar projects didn’t get much ……..:(


I have got conflicting definations of a compilers..........i.e A compiler is a program that takes it’s input in a form of a high language and gives output in another language………… it can be assembly or some form of binary or executable ……….some defined it as a program or group of program that translates one language into another (doesn’t specify anything so I am taking ti can be another higher level language?)…………it says generally the output language is in Assembly ( but some said you can also try to convert it into another higher language and then use their compiler to get the binary) ………..and that assembly goes through assembler and linker to get the binary and that’s I think out of our current score ?……..our scope is just up till conversion?

The compiler works in stages also called passes…….A pass is a complete traversal of the source program, or some internal representation of the source program.……..generally there are 4 passes in a C compiler called the 4 pass compiler but there are 1 pass and 2 pass and 3 pass compilers as well.

The major process are Lexical Analysis , Parsing……..there are a few tools available for each process like the age old Lex (lexical Analyzer) For Lexical Analysis and YACC(Yet Another Compiler Compiler) for parsing……..there a few freeware tools also available now that work like them………but using them would kill the fun



Here is what I recommend



Rather than using pre-built lexical and parsing Tools we make our own Lexical Analyzer and Parser in C…..…and implement them as functions one function calls another in a sequence?

We make it a 1-pass compiler.?

And we should stop saying we are making a C compiler ………rather than that a compiler for a language that looks like C……….. I mean making a full C compiler might take more than year or so. ….L


It would work something like this

Source Code --> Lexical Analysis-->Syntactical Analysis-->Symantec Analysis-->Code

This compiler that takes the source code as input does the then does the Lexical Analysis and then the Syntactical analysis and semantic analysis then generates a Intermediate code(what this intermediate code will be haven’t worked out yet) and that’s it .

We facilitate one or two or at-most 3 data types in our language? Thereby reduce the complexity……..although I recommend just two one is Integer and the other raw which takes anything other than integer………just make it for mathematical type of things first



What do you people think?

Corrections ?

Recommendations ?

Comments?

Before we go on to write a full analysis report …….....I say we try to maintain proper documentation of whatever we do starting for analysis till the last phase..........it will help others who join or see it later.

--Good Luck--

gauravjulka
October 24th, 2004, 07:56 AM
Its a great idea to start a project on compilers development. I would like to follow this discussion and contribute the best i could.
Thanks intruder and swordfish for all that u r doin'
I suggest some links below to continue with R&D on compilers

http://www.research.att.com/~bs/compilers.html
http://www.gnu.org/software/gcc/gcc.html

First it is must to chalk out the plan what ur compiler should be capable of handling. Also u would need to go into the details of libraries and header files of the compilers which r already available. Also give a thought to Linker, how exactly u are going to convert ur compiled assembly code into binary executable.

Good luck to all of u.

Gaurav

Epison07
October 24th, 2004, 08:32 AM
Wow, I would love to help...but this all sounds very very complicated and I am not sure my limited programming skills would help a bunch. But I would still love to follow along and see how you all do it. Hope we get something started tho, cant wait.

-Ep

whizkid2300
October 24th, 2004, 09:09 PM
Epison it doesn't take much programming knowledge to help on any kind of project, the basic thing behind a project, with a group is that everyone knows a little something. Not many people will know everything. So you take a small problem like. Writing code to search for libraries. Simple enough. Take small things, and then once your done with that take on something else. Shortly you are getting better, and being given harder tasks, Which in turn helps you out more, but also helps out the project more.

Pretty much, my main requirement for whenever I do a group project, is atleast one person that doesn't know a shit load, they like to work, and they tend to work hard. So give that person bugs to fix, (Which trust me is a pain in the ass.) You learn from doing that, so you become better.

If it is limited programming experience which is your problem, then start programming now. Something tells me with how AO works, this thing won't start for a little while.

[WebCarnage]
October 25th, 2004, 01:11 AM
I code in C and would possibly like to contribute as long as its a Linux/BSD based project.

I don't code for Windows :(. Not that i'm against it, I just think its a bit different than doing so in Linux, and I couldn't be any more apathetic about wanting to learn how to code in a Windows environment.

whizkid2300
October 25th, 2004, 01:13 AM
I am definately all for Linux based, I would find it better, to do whatever we do, for both Windows and Linux. I really don't care though.

intruder
October 25th, 2004, 06:26 AM
Hi There,
This is getting an overwhelming response, i am happy that people are interested and like to help. :)

SwordFish : ok as far as the compilers go i also came across the same info what u listed but i want to know more in technical, currently i am trying to dig as to how we will make a parser which will convert our code into assembly and than after that machine language which is the exact exe.

mmmm trying trying.. but will surely find this.

what i suggest is :
1) First we will make a 1 pass parser which will convert the code into assembly.
2) will link that assembly code using a normal assembly linker.
3) than will try to run that linked .exe and will check it it correctly runs.
4) if this happens than we can conclude that our assembly generation is fine and perfect.
5) Than we can think of generating the linker which will actually convert the assembly into machine code.

Currently i am reading the procedures as to how we can go about it.. but its all theory ....

in search of some technical docs. which can give a piece of code.. on compilers... will soon get hands on it.

Also, its a very good idea of maintaining the docs. and whatever analysis we do so that anybody can read them and understand. but that is the later part first of all lets us finalize the analysis report.

Good Luck to all of us.

In.